function _typeof(n){return n&&typeof Symbol!="undefined"&&n.constructor===Symbol?"symbol":typeof n}var __extends,QuadKeyLayer,google,Shoothill;(function(n,t){function gt(n){var t=n.length,r=i.type(n);return i.isWindow(n)?!1:1===n.nodeType&&t?!0:"array"===r||"function"!==r&&(0===t||"number"==typeof t&&t>0&&t-1 in n)}function te(n){var t=ni[n]={};return i.each(n.match(s)||[],function(n,i){t[i]=!0}),t}function ur(n,r,u,f){if(i.acceptData(n)){var h,o,c=i.expando,l=n.nodeType,s=l?i.cache:n,e=l?n[c]:n[c]&&c;if(e&&s[e]&&(f||s[e].data)||u!==t||"string"!=typeof r)return e||(e=l?n[c]=b.pop()||i.guid++:c),s[e]||(s[e]=l?{}:{toJSON:i.noop}),("object"==typeof r||"function"==typeof r)&&(f?s[e]=i.extend(s[e],r):s[e].data=i.extend(s[e].data,r)),o=s[e],f||(o.data||(o.data={}),o=o.data),u!==t&&(o[i.camelCase(r)]=u),"string"==typeof r?(h=o[r],null==h&&(h=o[i.camelCase(r)])):h=o,h}}function fr(n,t,r){if(i.acceptData(n)){var e,o,s=n.nodeType,u=s?i.cache:n,f=s?n[i.expando]:i.expando;if(u[f]){if(t&&(e=r?u[f]:u[f].data)){for(i.isArray(t)?t=t.concat(i.map(t,i.camelCase)):(t in e)?t=[t]:(t=i.camelCase(t),t=(t in e)?[t]:t.split(" ")),o=t.length;o--;)delete e[t[o]];if(r?!ti(e):!i.isEmptyObject(e))return}(r||(delete u[f].data,ti(u[f])))&&(s?i.cleanData([n],!0):i.support.deleteExpando||u!=u.window?delete u[f]:u[f]=null)}}}function er(n,r,u){if(u===t&&1===n.nodeType){var f="data-"+r.replace(rr,"-$1").toLowerCase();if(u=n.getAttribute(f),"string"==typeof u){try{u="true"===u?!0:"false"===u?!1:"null"===u?null:+u+""===u?+u:ir.test(u)?i.parseJSON(u):u}catch(e){}i.data(n,r,u)}else u=t}return u}function ti(n){var t;for(t in n)if(("data"!==t||!i.isEmptyObject(n[t]))&&"toJSON"!==t)return!1;return!0}function ct(){return!0}function g(){return!1}function cr(){try{return r.activeElement}catch(n){}}function ar(n,t){do n=n[t];while(n&&1!==n.nodeType);return n}function fi(n,t,r){if(i.isFunction(t))return i.grep(n,function(n,i){return!!t.call(n,i,n)!==r});if(t.nodeType)return i.grep(n,function(n){return n===t!==r});if("string"==typeof t){if(oe.test(t))return i.filter(t,n,r);t=i.filter(t,n)}return i.grep(n,function(n){return i.inArray(n,t)>=0!==r})}function vr(n){var i=yr.split("|"),t=n.createDocumentFragment();if(t.createElement)while(i.length)t.createElement(i.pop());return t}function gr(n,t){return i.nodeName(n,"table")&&i.nodeName(1===t.nodeType?t:t.firstChild,"tr")?n.getElementsByTagName("tbody")[0]||n.appendChild(n.ownerDocument.createElement("tbody")):n}function nu(n){return n.type=(null!==i.find.attr(n,"type"))+"/"+n.type,n}function tu(n){var t=ye.exec(n.type);return t?n.type=t[1]:n.removeAttribute("type"),n}function hi(n,t){for(var u,r=0;null!=(u=n[r]);r++)i._data(u,"globalEval",!t||i._data(t[r],"globalEval"))}function iu(n,t){if(1===t.nodeType&&i.hasData(n)){var u,f,o,s=i._data(n),r=i._data(t,s),e=s.events;if(e){delete r.handle;r.events={};for(u in e)for(f=0,o=e[u].length;o>f;f++)i.event.add(t,u,e[u][f])}r.data&&(r.data=i.extend({},r.data))}}function be(n,t){var r,f,u;if(1===t.nodeType){if(r=t.nodeName.toLowerCase(),!i.support.noCloneEvent&&t[i.expando]){u=i._data(t);for(f in u.events)i.removeEvent(t,f,u.handle);t.removeAttribute(i.expando)}"script"===r&&t.text!==n.text?(nu(t).text=n.text,tu(t)):"object"===r?(t.parentNode&&(t.outerHTML=n.outerHTML),i.support.html5Clone&&n.innerHTML&&!i.trim(t.innerHTML)&&(t.innerHTML=n.innerHTML)):"input"===r&&oi.test(n.type)?(t.defaultChecked=t.checked=n.checked,t.value!==n.value&&(t.value=n.value)):"option"===r?t.defaultSelected=t.selected=n.defaultSelected:("input"===r||"textarea"===r)&&(t.defaultValue=n.defaultValue)}}function u(n,r){var s,e,h=0,f=typeof n.getElementsByTagName!==o?n.getElementsByTagName(r||"*"):typeof n.querySelectorAll!==o?n.querySelectorAll(r||"*"):t;if(!f)for(f=[],s=n.childNodes||n;null!=(e=s[h]);h++)!r||i.nodeName(e,r)?f.push(e):i.merge(f,u(e,r));return r===t||r&&i.nodeName(n,r)?i.merge([n],f):f}function ke(n){oi.test(n.type)&&(n.defaultChecked=n.checked)}function ou(n,t){if(t in n)return t;for(var r=t.charAt(0).toUpperCase()+t.slice(1),u=t,i=eu.length;i--;)if(t=eu[i]+r,t in n)return t;return u}function ut(n,t){return n=t||n,"none"===i.css(n,"display")||!i.contains(n.ownerDocument,n)}function su(n,t){for(var f,r,o,e=[],u=0,s=n.length;s>u;u++)r=n[u],r.style&&(e[u]=i._data(r,"olddisplay"),f=r.style.display,t?(e[u]||"none"!==f||(r.style.display=""),""===r.style.display&&ut(r)&&(e[u]=i._data(r,"olddisplay",au(r.nodeName)))):e[u]||(o=ut(r),(f&&"none"!==f||!o)&&i._data(r,"olddisplay",o?f:i.css(r,"display"))));for(u=0;s>u;u++)r=n[u],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?e[u]||"":"none"));return n}function hu(n,t,i){var r=to.exec(t);return r?Math.max(0,r[1]-(i||0))+(r[2]||"px"):t}function cu(n,t,r,u,f){for(var e=r===(u?"border":"content")?4:"width"===t?1:0,o=0;4>e;e+=2)"margin"===r&&(o+=i.css(n,r+p[e],!0,f)),u?("content"===r&&(o-=i.css(n,"padding"+p[e],!0,f)),"margin"!==r&&(o-=i.css(n,"border"+p[e]+"Width",!0,f))):(o+=i.css(n,"padding"+p[e],!0,f),"padding"!==r&&(o+=i.css(n,"border"+p[e]+"Width",!0,f)));return o}function lu(n,t,r){var e=!0,u="width"===t?n.offsetWidth:n.offsetHeight,f=v(n),o=i.support.boxSizing&&"border-box"===i.css(n,"boxSizing",!1,f);if(0>=u||null==u){if(u=y(n,t,f),(0>u||null==u)&&(u=n.style[t]),lt.test(u))return u;e=o&&(i.support.boxSizingReliable||u===n.style[t]);u=parseFloat(u)||0}return u+cu(n,t,r||(o?"border":"content"),e,f)+"px"}function au(n){var u=r,t=uu[n];return t||(t=vu(n,u),"none"!==t&&t||(rt=(rt||i("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(u.documentElement),u=(rt[0].contentWindow||rt[0].contentDocument).document,u.write("<!doctype html><html><body>"),u.close(),t=vu(n,u),rt.detach()),uu[n]=t),t}function vu(n,t){var r=i(t.createElement(n)).appendTo(t.body),u=i.css(r[0],"display");return r.remove(),u}function li(n,t,r,u){var f;if(i.isArray(t))i.each(t,function(t,i){r||fo.test(n)?u(n,i):li(n+"["+("object"==typeof i?t:"")+"]",i,r,u)});else if(r||"object"!==i.type(t))u(n,t);else for(f in t)li(n+"["+f+"]",t[f],r,u)}function gu(n){return function(t,r){"string"!=typeof t&&(r=t,t="*");var u,f=0,e=t.toLowerCase().match(s)||[];if(i.isFunction(r))while(u=e[f++])"+"===u[0]?(u=u.slice(1)||"*",(n[u]=n[u]||[]).unshift(r)):(n[u]=n[u]||[]).push(r)}}function nf(n,r,u,f){function o(h){var c;return e[h]=!0,i.each(n[h]||[],function(n,i){var h=i(r,u,f);return"string"!=typeof h||s||e[h]?s?!(c=h):t:(r.dataTypes.unshift(h),o(h),!1)}),c}var e={},s=n===yi;return o(r.dataTypes[0])||!e["*"]&&o("*")}function pi(n,r){var f,u,e=i.ajaxSettings.flatOptions||{};for(u in r)r[u]!==t&&((e[u]?n:f||(f={}))[u]=r[u]);return f&&i.extend(!0,n,f),n}function ao(n,i,r){for(var s,o,f,e,h=n.contents,u=n.dataTypes;"*"===u[0];)u.shift(),o===t&&(o=n.mimeType||i.getResponseHeader("Content-Type"));if(o)for(e in h)if(h[e]&&h[e].test(o)){u.unshift(e);break}if(u[0]in r)f=u[0];else{for(e in r){if(!u[0]||n.converters[e+" "+u[0]]){f=e;break}s||(s=e)}f=f||s}return f?(f!==u[0]&&u.unshift(f),r[f]):t}function vo(n,t,i,r){var h,u,f,s,e,o={},c=n.dataTypes.slice();if(c[1])for(f in n.converters)o[f.toLowerCase()]=n.converters[f];for(u=c.shift();u;)if(n.responseFields[u]&&(i[n.responseFields[u]]=t),!e&&r&&n.dataFilter&&(t=n.dataFilter(t,n.dataType)),e=u,u=c.shift())if("*"===u)u=e;else if("*"!==e&&e!==u){if(f=o[e+" "+u]||o["* "+u],!f)for(h in o)if(s=h.split(" "),s[1]===u&&(f=o[e+" "+s[0]]||o["* "+s[0]])){f===!0?f=o[h]:o[h]!==!0&&(u=s[0],c.unshift(s[1]));break}if(f!==!0)if(f&&n.throws)t=f(t);else try{t=f(t)}catch(l){return{state:"parsererror",error:f?l:"No conversion from "+e+" to "+u}}}return{state:"success",data:t}}function rf(){try{return new n.XMLHttpRequest}catch(t){}}function yo(){try{return new n.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function ff(){return setTimeout(function(){it=t}),it=i.now()}function ef(n,t,i){for(var u,f=(ft[t]||[]).concat(ft["*"]),r=0,e=f.length;e>r;r++)if(u=f[r].call(i,t,n))return u}function of(n,t,r){var h,e,o=0,l=pt.length,f=i.Deferred().always(function(){delete c.elem}),c=function(){if(e)return!1;for(var s=it||ff(),t=Math.max(0,u.startTime+u.duration-s),h=t/u.duration||0,i=1-h,r=0,o=u.tweens.length;o>r;r++)u.tweens[r].run(i);return f.notifyWith(n,[u,i,t]),1>i&&o?t:(f.resolveWith(n,[u]),!1)},u=f.promise({elem:n,props:i.extend({},t),opts:i.extend(!0,{specialEasing:{}},r),originalProperties:t,originalOptions:r,startTime:it||ff(),duration:r.duration,tweens:[],createTween:function(t,r){var f=i.Tween(n,u.opts,t,r,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(f),f},stop:function(t){var i=0,r=t?u.tweens.length:0;if(e)return this;for(e=!0;r>i;i++)u.tweens[i].run(1);return t?f.resolveWith(n,[u,t]):f.rejectWith(n,[u,t]),this}}),s=u.props;for(bo(s,u.opts.specialEasing);l>o;o++)if(h=pt[o].call(u,n,s,u.opts))return h;return i.map(s,ef,u),i.isFunction(u.opts.start)&&u.opts.start.call(n,u),i.fx.timer(i.extend(c,{elem:n,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function bo(n,t){var r,f,e,u,o;for(r in n)if(f=i.camelCase(r),e=t[f],u=n[r],i.isArray(u)&&(e=u[1],u=n[r]=u[0]),r!==f&&(n[f]=u,delete n[r]),o=i.cssHooks[f],o&&"expand"in o){u=o.expand(u);delete n[f];for(r in u)r in n||(n[r]=u[r],t[r]=e)}else t[f]=e}function ko(n,t,r){var u,a,v,c,e,y,s=this,l={},o=n.style,h=n.nodeType&&ut(n),f=i._data(n,"fxshow");r.queue||(e=i._queueHooks(n,"fx"),null==e.unqueued&&(e.unqueued=0,y=e.empty.fire,e.empty.fire=function(){e.unqueued||y()}),e.unqueued++,s.always(function(){s.always(function(){e.unqueued--;i.queue(n,"fx").length||e.empty.fire()})}));1===n.nodeType&&("height"in t||"width"in t)&&(r.overflow=[o.overflow,o.overflowX,o.overflowY],"inline"===i.css(n,"display")&&"none"===i.css(n,"float")&&(i.support.inlineBlockNeedsLayout&&"inline"!==au(n.nodeName)?o.zoom=1:o.display="inline-block"));r.overflow&&(o.overflow="hidden",i.support.shrinkWrapBlocks||s.always(function(){o.overflow=r.overflow[0];o.overflowX=r.overflow[1];o.overflowY=r.overflow[2]}));for(u in t)if(a=t[u],po.exec(a)){if(delete t[u],v=v||"toggle"===a,a===(h?"hide":"show"))continue;l[u]=f&&f[u]||i.style(n,u)}if(!i.isEmptyObject(l)){f?"hidden"in f&&(h=f.hidden):f=i._data(n,"fxshow",{});v&&(f.hidden=!h);h?i(n).show():s.done(function(){i(n).hide()});s.done(function(){var t;i._removeData(n,"fxshow");for(t in l)i.style(n,t,l[t])});for(u in l)c=ef(h?f[u]:0,u,s),u in f||(f[u]=c.start,h&&(c.end=c.start,c.start="width"===u||"height"===u?1:0))}}function f(n,t,i,r,u){return new f.prototype.init(n,t,i,r,u)}function wt(n,t){var r,i={height:n},u=0;for(t=t?1:0;4>u;u+=2-t)r=p[u],i["margin"+r]=i["padding"+r]=n;return t&&(i.opacity=i.width=n),i}function sf(n){return i.isWindow(n)?n:9===n.nodeType?n.defaultView||n.parentWindow:!1}var et,bi,o=typeof t,hf=n.location,r=n.document,ki=r.documentElement,cf=n.jQuery,lf=n.$,ot={},b=[],bt="1.10.2",di=b.concat,kt=b.push,l=b.slice,gi=b.indexOf,af=ot.toString,k=ot.hasOwnProperty,dt=bt.trim,i=function(n,t){return new i.fn.init(n,t,bi)},st=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,s=/\S+/g,vf=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,yf=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,nr=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,pf=/^[\],:{}\s]*$/,wf=/(?:^|:|,)(?:\s*\[)+/g,bf=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,kf=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,df=/^-ms-/,gf=/-([\da-z])/gi,ne=function(n,t){return t.toUpperCase()},h=function(n){(r.addEventListener||"load"===n.type||"complete"===r.readyState)&&(tr(),i.ready())},tr=function(){r.addEventListener?(r.removeEventListener("DOMContentLoaded",h,!1),n.removeEventListener("load",h,!1)):(r.detachEvent("onreadystatechange",h),n.detachEvent("onload",h))},ni,ir,rr,wi,at,nt,tt,tf,vt;i.fn=i.prototype={jquery:bt,constructor:i,init:function(n,u,f){var e,o;if(!n)return this;if("string"==typeof n){if(e="<"===n.charAt(0)&&">"===n.charAt(n.length-1)&&n.length>=3?[null,n,null]:yf.exec(n),!e||!e[1]&&u)return!u||u.jquery?(u||f).find(n):this.constructor(u).find(n);if(e[1]){if(u=u instanceof i?u[0]:u,i.merge(this,i.parseHTML(e[1],u&&u.nodeType?u.ownerDocument||u:r,!0)),nr.test(e[1])&&i.isPlainObject(u))for(e in u)i.isFunction(this[e])?this[e](u[e]):this.attr(e,u[e]);return this}if(o=r.getElementById(e[2]),o&&o.parentNode){if(o.id!==e[2])return f.find(n);this.length=1;this[0]=o}return this.context=r,this.selector=n,this}return n.nodeType?(this.context=this[0]=n,this.length=1,this):i.isFunction(n)?f.ready(n):(n.selector!==t&&(this.selector=n.selector,this.context=n.context),i.makeArray(n,this))},selector:"",length:0,toArray:function(){return l.call(this)},get:function(n){return null==n?this.toArray():0>n?this[this.length+n]:this[n]},pushStack:function(n){var t=i.merge(this.constructor(),n);return t.prevObject=this,t.context=this.context,t},each:function(n,t){return i.each(this,n,t)},ready:function(n){return i.ready.promise().done(n),this},slice:function(){return this.pushStack(l.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(n){var i=this.length,t=+n+(0>n?i:0);return this.pushStack(t>=0&&i>t?[this[t]]:[])},map:function(n){return this.pushStack(i.map(this,function(t,i){return n.call(t,i,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:kt,sort:[].sort,splice:[].splice};i.fn.init.prototype=i.fn;i.extend=i.fn.extend=function(){var u,o,r,e,s,h,n=arguments[0]||{},f=1,l=arguments.length,c=!1;for("boolean"==typeof n&&(c=n,n=arguments[1]||{},f=2),"object"==typeof n||i.isFunction(n)||(n={}),l===f&&(n=this,--f);l>f;f++)if(null!=(s=arguments[f]))for(e in s)u=n[e],r=s[e],n!==r&&(c&&r&&(i.isPlainObject(r)||(o=i.isArray(r)))?(o?(o=!1,h=u&&i.isArray(u)?u:[]):h=u&&i.isPlainObject(u)?u:{},n[e]=i.extend(c,h,r)):r!==t&&(n[e]=r));return n};i.extend({expando:"jQuery"+(bt+Math.random()).replace(/\D/g,""),noConflict:function(t){return n.$===i&&(n.$=lf),t&&n.jQuery===i&&(n.jQuery=cf),i},isReady:!1,readyWait:1,holdReady:function(n){n?i.readyWait++:i.ready(!0)},ready:function(n){if(n===!0?!--i.readyWait:!i.isReady){if(!r.body)return setTimeout(i.ready);i.isReady=!0;n!==!0&&--i.readyWait>0||(et.resolveWith(r,[i]),i.fn.trigger&&i(r).trigger("ready").off("ready"))}},isFunction:function(n){return"function"===i.type(n)},isArray:Array.isArray||function(n){return"array"===i.type(n)},isWindow:function(n){return null!=n&&n==n.window},isNumeric:function(n){return!isNaN(parseFloat(n))&&isFinite(n)},type:function(n){return null==n?n+"":"object"==typeof n||"function"==typeof n?ot[af.call(n)]||"object":typeof n},isPlainObject:function(n){var r;if(!n||"object"!==i.type(n)||n.nodeType||i.isWindow(n))return!1;try{if(n.constructor&&!k.call(n,"constructor")&&!k.call(n.constructor.prototype,"isPrototypeOf"))return!1}catch(u){return!1}if(i.support.ownLast)for(r in n)return k.call(n,r);for(r in n);return r===t||k.call(n,r)},isEmptyObject:function(n){var t;for(t in n)return!1;return!0},error:function(n){throw Error(n);},parseHTML:function(n,t,u){if(!n||"string"!=typeof n)return null;"boolean"==typeof t&&(u=t,t=!1);t=t||r;var f=nr.exec(n),e=!u&&[];return f?[t.createElement(f[1])]:(f=i.buildFragment([n],t,e),e&&i(e).remove(),i.merge([],f.childNodes))},parseJSON:function(r){return n.JSON&&n.JSON.parse?n.JSON.parse(r):null===r?r:"string"==typeof r&&(r=i.trim(r),r&&pf.test(r.replace(bf,"@").replace(kf,"]").replace(wf,"")))?Function("return "+r)():(i.error("Invalid JSON: "+r),t)},parseXML:function(r){var u,f;if(!r||"string"!=typeof r)return null;try{n.DOMParser?(f=new DOMParser,u=f.parseFromString(r,"text/xml")):(u=new ActiveXObject("Microsoft.XMLDOM"),u.async="false",u.loadXML(r))}catch(e){u=t}return u&&u.documentElement&&!u.getElementsByTagName("parsererror").length||i.error("Invalid XML: "+r),u},noop:function(){},globalEval:function(t){t&&i.trim(t)&&(n.execScript||function(t){n.eval.call(n,t)})(t)},camelCase:function(n){return n.replace(df,"ms-").replace(gf,ne)},nodeName:function(n,t){return n.nodeName&&n.nodeName.toLowerCase()===t.toLowerCase()},each:function(n,t,i){var u,r=0,f=n.length,e=gt(n);if(i){if(e){for(;f>r;r++)if(u=t.apply(n[r],i),u===!1)break}else for(r in n)if(u=t.apply(n[r],i),u===!1)break}else if(e){for(;f>r;r++)if(u=t.call(n[r],r,n[r]),u===!1)break}else for(r in n)if(u=t.call(n[r],r,n[r]),u===!1)break;return n},trim:dt&&!dt.call("﻿ ")?function(n){return null==n?"":dt.call(n)}:function(n){return null==n?"":(n+"").replace(vf,"")},makeArray:function(n,t){var r=t||[];return null!=n&&(gt(Object(n))?i.merge(r,"string"==typeof n?[n]:n):kt.call(r,n)),r},inArray:function(n,t,i){var r;if(t){if(gi)return gi.call(t,n,i);for(r=t.length,i=i?0>i?Math.max(0,r+i):i:0;r>i;i++)if(i in t&&t[i]===n)return i}return-1},merge:function(n,i){var f=i.length,u=n.length,r=0;if("number"==typeof f)for(;f>r;r++)n[u++]=i[r];else while(i[r]!==t)n[u++]=i[r++];return n.length=u,n},grep:function(n,t,i){var u,f=[],r=0,e=n.length;for(i=!!i;e>r;r++)u=!!t(n[r],r),i!==u&&f.push(n[r]);return f},map:function(n,t,i){var u,r=0,e=n.length,o=gt(n),f=[];if(o)for(;e>r;r++)u=t(n[r],r,i),null!=u&&(f[f.length]=u);else for(r in n)u=t(n[r],r,i),null!=u&&(f[f.length]=u);return di.apply([],f)},guid:1,proxy:function(n,r){var f,u,e;return"string"==typeof r&&(e=n[r],r=n,n=e),i.isFunction(n)?(f=l.call(arguments,2),u=function(){return n.apply(r||this,f.concat(l.call(arguments)))},u.guid=n.guid=n.guid||i.guid++,u):t},access:function(n,r,u,f,e,o,s){var h=0,l=n.length,c=null==u;if("object"===i.type(u)){e=!0;for(h in u)i.access(n,r,h,u[h],!0,o,s)}else if(f!==t&&(e=!0,i.isFunction(f)||(s=!0),c&&(s?(r.call(n,f),r=null):(c=r,r=function(n,t,r){return c.call(i(n),r)})),r))for(;l>h;h++)r(n[h],u,s?f:f.call(n[h],h,r(n[h],u)));return e?n:c?r.call(n):l?r(n[0],u):o},now:function(){return(new Date).getTime()},swap:function(n,t,i,r){var f,u,e={};for(u in t)e[u]=n.style[u],n.style[u]=t[u];f=i.apply(n,r||[]);for(u in t)n.style[u]=e[u];return f}});i.ready.promise=function(t){if(!et)if(et=i.Deferred(),"complete"===r.readyState)setTimeout(i.ready);else if(r.addEventListener)r.addEventListener("DOMContentLoaded",h,!1),n.addEventListener("load",h,!1);else{r.attachEvent("onreadystatechange",h);n.attachEvent("onload",h);var u=!1;try{u=null==n.frameElement&&r.documentElement}catch(e){}u&&u.doScroll&&function f(){if(!i.isReady){try{u.doScroll("left")}catch(n){return setTimeout(f,50)}tr();i.ready()}}()}return et.promise(t)};i.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(n,t){ot["[object "+t+"]"]=t.toLowerCase()});bi=i(r),function(n,t){function u(n,t,i,r){var p,u,f,l,w,a,k,c,g,d;if((t?t.ownerDocument||t:y)!==s&&nt(t),t=t||s,i=i||[],!n||"string"!=typeof n)return i;if(1!==(l=t.nodeType)&&9!==l)return[];if(v&&!r){if(p=or.exec(n))if(f=p[1]){if(9===l){if(u=t.getElementById(f),!u||!u.parentNode)return i;if(u.id===f)return i.push(u),i}else if(t.ownerDocument&&(u=t.ownerDocument.getElementById(f))&&ot(t,u)&&u.id===f)return i.push(u),i}else{if(p[2])return b.apply(i,t.getElementsByTagName(n)),i;if((f=p[3])&&e.getElementsByClassName&&t.getElementsByClassName)return b.apply(i,t.getElementsByClassName(f)),i}if(e.qsa&&(!h||!h.test(n))){if(c=k=o,g=t,d=9===l&&n,1===l&&"object"!==t.nodeName.toLowerCase()){for(a=pt(n),(k=t.getAttribute("id"))?c=k.replace(cr,"\\$&"):t.setAttribute("id",c),c="[id='"+c+"'] ",w=a.length;w--;)a[w]=c+wt(a[w]);g=ti.test(n)&&t.parentNode||t;d=a.join(",")}if(d)try{return b.apply(i,g.querySelectorAll(d)),i}catch(tt){}finally{k||t.removeAttribute("id")}}}return pr(n.replace(vt,"$1"),t,i,r)}function ri(){function n(i,u){return t.push(i+=" ")>r.cacheLength&&delete n[t.shift()],n[i]=u}var t=[];return n}function c(n){return n[o]=!0,n}function l(n){var t=s.createElement("div");try{return!!n(t)}catch(i){return!1}finally{t.parentNode&&t.parentNode.removeChild(t);t=null}}function ui(n,t){for(var u=n.split("|"),i=n.length;i--;)r.attrHandle[u[i]]=t}function bi(n,t){var i=t&&n,r=i&&1===n.nodeType&&1===t.nodeType&&(~t.sourceIndex||vi)-(~n.sourceIndex||vi);if(r)return r;if(i)while(i=i.nextSibling)if(i===t)return-1;return n?1:-1}function lr(n){return function(t){var i=t.nodeName.toLowerCase();return"input"===i&&t.type===n}}function ar(n){return function(t){var i=t.nodeName.toLowerCase();return("input"===i||"button"===i)&&t.type===n}}function rt(n){return c(function(t){return t=+t,c(function(i,r){for(var u,f=n([],i.length,t),e=f.length;e--;)i[u=f[e]]&&(i[u]=!(r[u]=i[u]))})})}function ki(){}function pt(n,t){var e,f,s,o,i,h,c,l=li[n+" "];if(l)return t?0:l.slice(0);for(i=n,h=[],c=r.preFilter;i;){(!e||(f=ir.exec(i)))&&(f&&(i=i.slice(f[0].length)||i),h.push(s=[]));e=!1;(f=rr.exec(i))&&(e=f.shift(),s.push({value:e,type:f[0].replace(vt," ")}),i=i.slice(e.length));for(o in r.filter)(f=yt[o].exec(i))&&(!c[o]||(f=c[o](f)))&&(e=f.shift(),s.push({value:e,type:o,matches:f}),i=i.slice(e.length));if(!e)break}return t?i.length:i?u.error(n):li(n,h).slice(0)}function wt(n){for(var t=0,r=n.length,i="";r>t;t++)i+=n[t].value;return i}function fi(n,t,i){var r=t.dir,u=i&&"parentNode"===r,f=di++;return t.first?function(t,i,f){while(t=t[r])if(1===t.nodeType||u)return n(t,i,f)}:function(t,i,e){var h,s,c,l=p+" "+f;if(e){while(t=t[r])if((1===t.nodeType||u)&&n(t,i,e))return!0}else while(t=t[r])if(1===t.nodeType||u)if(c=t[o]||(t[o]={}),(s=c[r])&&s[0]===l){if((h=s[1])===!0||h===ht)return h===!0}else if(s=c[r]=[l],s[1]=n(t,i,e)||ht,s[1]===!0)return!0}}function ei(n){return n.length>1?function(t,i,r){for(var u=n.length;u--;)if(!n[u](t,i,r))return!1;return!0}:n[0]}function bt(n,t,i,r,u){for(var e,o=[],f=0,s=n.length,h=null!=t;s>f;f++)(e=n[f])&&(!i||i(e,r,u))&&(o.push(e),h&&t.push(f));return o}function oi(n,t,i,r,u,f){return r&&!r[o]&&(r=oi(r)),u&&!u[o]&&(u=oi(u,f)),c(function(f,e,o,s){var l,c,a,p=[],y=[],w=e.length,k=f||yr(t||"*",o.nodeType?[o]:o,[]),v=!n||!f&&t?k:bt(k,p,n,o,s),h=i?u||(f?n:w||r)?[]:e:v;if(i&&i(v,h,o,s),r)for(l=bt(h,y),r(l,[],o,s),c=l.length;c--;)(a=l[c])&&(h[y[c]]=!(v[y[c]]=a));if(f){if(u||n){if(u){for(l=[],c=h.length;c--;)(a=h[c])&&l.push(v[c]=a);u(null,h=[],l,s)}for(c=h.length;c--;)(a=h[c])&&(l=u?it.call(f,a):p[c])>-1&&(f[l]=!(e[l]=a))}}else h=bt(h===e?h.splice(w,h.length):h),u?u(null,e,h,s):b.apply(e,h)})}function si(n){for(var s,u,i,e=n.length,h=r.relative[n[0].type],c=h||r.relative[" "],t=h?1:0,l=fi(function(n){return n===s},c,!0),a=fi(function(n){return it.call(s,n)>-1},c,!0),f=[function(n,t,i){return!h&&(i||t!==lt)||((s=t).nodeType?l(n,t,i):a(n,t,i))}];e>t;t++)if(u=r.relative[n[t].type])f=[fi(ei(f),u)];else{if(u=r.filter[n[t].type].apply(null,n[t].matches),u[o]){for(i=++t;e>i;i++)if(r.relative[n[i].type])break;return oi(t>1&&ei(f),t>1&&wt(n.slice(0,t-1).concat({value:" "===n[t-2].type?"*":""})).replace(vt,"$1"),u,i>t&&si(n.slice(t,i)),e>i&&si(n=n.slice(i)),e>i&&wt(n))}f.push(u)}return ei(f)}function vr(n,t){var f=0,i=t.length>0,e=n.length>0,o=function(o,h,c,l,a){var y,g,k,w=[],d=0,v="0",nt=o&&[],tt=null!=a,it=lt,ut=o||e&&r.find.TAG("*",a&&h.parentNode||h),rt=p+=null==it?1:Math.random()||.1;for(tt&&(lt=h!==s&&h,ht=f);null!=(y=ut[v]);v++){if(e&&y){for(g=0;k=n[g++];)if(k(y,h,c)){l.push(y);break}tt&&(p=rt,ht=++f)}i&&((y=!k&&y)&&d--,o&&nt.push(y))}if(d+=v,i&&v!==d){for(g=0;k=t[g++];)k(nt,w,h,c);if(o){if(d>0)while(v--)nt[v]||w[v]||(w[v]=nr.call(l));w=bt(w)}b.apply(l,w);tt&&!o&&w.length>0&&d+t.length>1&&u.uniqueSort(l)}return tt&&(p=rt,lt=it),nt};return i?c(o):o}function yr(n,t,i){for(var r=0,f=t.length;f>r;r++)u(n,t[r],i);return i}function pr(n,t,i,u){var s,f,o,c,l,h=pt(n);if(!u&&1===h.length){if(f=h[0]=h[0].slice(0),f.length>2&&"ID"===(o=f[0]).type&&e.getById&&9===t.nodeType&&v&&r.relative[f[1].type]){if(t=(r.find.ID(o.matches[0].replace(k,d),t)||[])[0],!t)return i;n=n.slice(f.shift().value.length)}for(s=yt.needsContext.test(n)?0:f.length;s--;){if(o=f[s],r.relative[c=o.type])break;if((l=r.find[c])&&(u=l(o.matches[0].replace(k,d),ti.test(f[0].type)&&t.parentNode||t))){if(f.splice(s,1),n=u.length&&wt(f),!n)return b.apply(i,u),i;break}}}return kt(n,h)(u,t,!v,i,ti.test(n)),i}var ut,e,ht,r,ct,hi,kt,lt,g,nt,s,a,v,h,tt,at,ot,o="sizzle"+-new Date,y=n.document,p=0,di=0,ci=ri(),li=ri(),ai=ri(),ft=!1,dt=function(n,t){return n===t?(ft=!0,0):0},st=typeof t,vi=-2147483648,gi={}.hasOwnProperty,w=[],nr=w.pop,tr=w.push,b=w.push,yi=w.slice,it=w.indexOf||function(n){for(var t=0,i=this.length;i>t;t++)if(this[t]===n)return t;return-1},gt="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",f="[\\x20\\t\\r\\n\\f]",et="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",pi=et.replace("w","w#"),wi="\\["+f+"*("+et+")"+f+"*(?:([*^$|!~]?=)"+f+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+pi+")|)|)"+f+"*\\]",ni=":("+et+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+wi.replace(3,8)+")*)|.*)\\)|)",vt=RegExp("^"+f+"+|((?:^|[^\\\\])(?:\\\\.)*)"+f+"+$","g"),ir=RegExp("^"+f+"*,"+f+"*"),rr=RegExp("^"+f+"*([>+~]|"+f+")"+f+"*"),ti=RegExp(f+"*[+~]"),ur=RegExp("="+f+"*([^\\]'\"]*)"+f+"*\\]","g"),fr=RegExp(ni),er=RegExp("^"+pi+"$"),yt={ID:RegExp("^#("+et+")"),CLASS:RegExp("^\\.("+et+")"),TAG:RegExp("^("+et.replace("w","w*")+")"),ATTR:RegExp("^"+wi),PSEUDO:RegExp("^"+ni),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+f+"*(even|odd|(([+-]|)(\\d*)n|)"+f+"*(?:([+-]|)"+f+"*(\\d+)|))"+f+"*\\)|)","i"),bool:RegExp("^(?:"+gt+")$","i"),needsContext:RegExp("^"+f+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+f+"*((?:-\\d)?\\d*)"+f+"*\\)|)(?=[^-]|$)","i")},ii=/^[^{]+\{\s*\[native \w/,or=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,sr=/^(?:input|select|textarea|button)$/i,hr=/^h\d$/i,cr=/'|\\/g,k=RegExp("\\\\([\\da-f]{1,6}"+f+"?|("+f+")|.)","ig"),d=function(n,t,i){var r="0x"+t-65536;return r!==r||i?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{b.apply(w=yi.call(y.childNodes),y.childNodes);w[y.childNodes.length].nodeType}catch(wr){b={apply:w.length?function(n,t){tr.apply(n,yi.call(t))}:function(n,t){for(var i=n.length,r=0;n[i++]=t[r++];);n.length=i-1}}}hi=u.isXML=function(n){var t=n&&(n.ownerDocument||n).documentElement;return t?"HTML"!==t.nodeName:!1};e=u.support={};nt=u.setDocument=function(n){var i=n?n.ownerDocument||n:y,u=i.defaultView;return i!==s&&9===i.nodeType&&i.documentElement?(s=i,a=i.documentElement,v=!hi(i),u&&u.attachEvent&&u!==u.top&&u.attachEvent("onbeforeunload",function(){nt()}),e.attributes=l(function(n){return n.className="i",!n.getAttribute("className")}),e.getElementsByTagName=l(function(n){return n.appendChild(i.createComment("")),!n.getElementsByTagName("*").length}),e.getElementsByClassName=l(function(n){return n.innerHTML="<div class='a'><\/div><div class='a i'><\/div>",n.firstChild.className="i",2===n.getElementsByClassName("i").length}),e.getById=l(function(n){return a.appendChild(n).id=o,!i.getElementsByName||!i.getElementsByName(o).length}),e.getById?(r.find.ID=function(n,t){if(typeof t.getElementById!==st&&v){var i=t.getElementById(n);return i&&i.parentNode?[i]:[]}},r.filter.ID=function(n){var t=n.replace(k,d);return function(n){return n.getAttribute("id")===t}}):(delete r.find.ID,r.filter.ID=function(n){var t=n.replace(k,d);return function(n){var i=typeof n.getAttributeNode!==st&&n.getAttributeNode("id");return i&&i.value===t}}),r.find.TAG=e.getElementsByTagName?function(n,i){return typeof i.getElementsByTagName!==st?i.getElementsByTagName(n):t}:function(n,t){var i,r=[],f=0,u=t.getElementsByTagName(n);if("*"===n){while(i=u[f++])1===i.nodeType&&r.push(i);return r}return u},r.find.CLASS=e.getElementsByClassName&&function(n,i){return typeof i.getElementsByClassName!==st&&v?i.getElementsByClassName(n):t},tt=[],h=[],(e.qsa=ii.test(i.querySelectorAll))&&(l(function(n){n.innerHTML="<select><option selected=''><\/option><\/select>";n.querySelectorAll("[selected]").length||h.push("\\["+f+"*(?:value|"+gt+")");n.querySelectorAll(":checked").length||h.push(":checked")}),l(function(n){var t=i.createElement("input");t.setAttribute("type","hidden");n.appendChild(t).setAttribute("t","");n.querySelectorAll("[t^='']").length&&h.push("[*^$]="+f+"*(?:''|\"\")");n.querySelectorAll(":enabled").length||h.push(":enabled",":disabled");n.querySelectorAll("*,:x");h.push(",.*:")})),(e.matchesSelector=ii.test(at=a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&l(function(n){e.disconnectedMatch=at.call(n,"div");at.call(n,"[s!='']:x");tt.push("!=",ni)}),h=h.length&&RegExp(h.join("|")),tt=tt.length&&RegExp(tt.join("|")),ot=ii.test(a.contains)||a.compareDocumentPosition?function(n,t){var r=9===n.nodeType?n.documentElement:n,i=t&&t.parentNode;return n===i||!(!i||1!==i.nodeType||!(r.contains?r.contains(i):n.compareDocumentPosition&&16&n.compareDocumentPosition(i)))}:function(n,t){if(t)while(t=t.parentNode)if(t===n)return!0;return!1},dt=a.compareDocumentPosition?function(n,t){if(n===t)return ft=!0,0;var r=t.compareDocumentPosition&&n.compareDocumentPosition&&n.compareDocumentPosition(t);return r?1&r||!e.sortDetached&&t.compareDocumentPosition(n)===r?n===i||ot(y,n)?-1:t===i||ot(y,t)?1:g?it.call(g,n)-it.call(g,t):0:4&r?-1:1:n.compareDocumentPosition?-1:1}:function(n,t){var r,u=0,o=n.parentNode,s=t.parentNode,f=[n],e=[t];if(n===t)return ft=!0,0;if(!o||!s)return n===i?-1:t===i?1:o?-1:s?1:g?it.call(g,n)-it.call(g,t):0;if(o===s)return bi(n,t);for(r=n;r=r.parentNode;)f.unshift(r);for(r=t;r=r.parentNode;)e.unshift(r);while(f[u]===e[u])u++;return u?bi(f[u],e[u]):f[u]===y?-1:e[u]===y?1:0},i):s};u.matches=function(n,t){return u(n,null,null,t)};u.matchesSelector=function(n,t){if((n.ownerDocument||n)!==s&&nt(n),t=t.replace(ur,"='$1']"),!(!e.matchesSelector||!v||tt&&tt.test(t)||h&&h.test(t)))try{var i=at.call(n,t);if(i||e.disconnectedMatch||n.document&&11!==n.document.nodeType)return i}catch(r){}return u(t,s,null,[n]).length>0};u.contains=function(n,t){return(n.ownerDocument||n)!==s&&nt(n),ot(n,t)};u.attr=function(n,i){(n.ownerDocument||n)!==s&&nt(n);var f=r.attrHandle[i.toLowerCase()],u=f&&gi.call(r.attrHandle,i.toLowerCase())?f(n,i,!v):t;return u===t?e.attributes||!v?n.getAttribute(i):(u=n.getAttributeNode(i))&&u.specified?u.value:null:u};u.error=function(n){throw Error("Syntax error, unrecognized expression: "+n);};u.uniqueSort=function(n){var r,u=[],t=0,i=0;if(ft=!e.detectDuplicates,g=!e.sortStable&&n.slice(0),n.sort(dt),ft){while(r=n[i++])r===n[i]&&(t=u.push(i));while(t--)n.splice(u[t],1)}return n};ct=u.getText=function(n){var r,i="",u=0,t=n.nodeType;if(t){if(1===t||9===t||11===t){if("string"==typeof n.textContent)return n.textContent;for(n=n.firstChild;n;n=n.nextSibling)i+=ct(n)}else if(3===t||4===t)return n.nodeValue}else for(;r=n[u];u++)i+=ct(r);return i};r=u.selectors={cacheLength:50,createPseudo:c,match:yt,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(n){return n[1]=n[1].replace(k,d),n[3]=(n[4]||n[5]||"").replace(k,d),"~="===n[2]&&(n[3]=" "+n[3]+" "),n.slice(0,4)},CHILD:function(n){return n[1]=n[1].toLowerCase(),"nth"===n[1].slice(0,3)?(n[3]||u.error(n[0]),n[4]=+(n[4]?n[5]+(n[6]||1):2*("even"===n[3]||"odd"===n[3])),n[5]=+(n[7]+n[8]||"odd"===n[3])):n[3]&&u.error(n[0]),n},PSEUDO:function(n){var r,i=!n[5]&&n[2];return yt.CHILD.test(n[0])?null:(n[3]&&n[4]!==t?n[2]=n[4]:i&&fr.test(i)&&(r=pt(i,!0))&&(r=i.indexOf(")",i.length-r)-i.length)&&(n[0]=n[0].slice(0,r),n[2]=i.slice(0,r)),n.slice(0,3))}},filter:{TAG:function(n){var t=n.replace(k,d).toLowerCase();return"*"===n?function(){return!0}:function(n){return n.nodeName&&n.nodeName.toLowerCase()===t}},CLASS:function(n){var t=ci[n+" "];return t||(t=RegExp("(^|"+f+")"+n+"("+f+"|$)"))&&ci(n,function(n){return t.test("string"==typeof n.className&&n.className||typeof n.getAttribute!==st&&n.getAttribute("class")||"")})},ATTR:function(n,t,i){return function(r){var f=u.attr(r,n);return null==f?"!="===t:t?(f+="","="===t?f===i:"!="===t?f!==i:"^="===t?i&&0===f.indexOf(i):"*="===t?i&&f.indexOf(i)>-1:"$="===t?i&&f.slice(-i.length)===i:"~="===t?(" "+f+" ").indexOf(i)>-1:"|="===t?f===i||f.slice(0,i.length+1)===i+"-":!1):!0}},CHILD:function(n,t,i,r,u){var s="nth"!==n.slice(0,3),e="last"!==n.slice(-4),f="of-type"===t;return 1===r&&0===u?function(n){return!!n.parentNode}:function(t,i,h){var a,k,c,l,v,w,b=s!==e?"nextSibling":"previousSibling",y=t.parentNode,g=f&&t.nodeName.toLowerCase(),d=!h&&!f;if(y){if(s){while(b){for(c=t;c=c[b];)if(f?c.nodeName.toLowerCase()===g:1===c.nodeType)return!1;w=b="only"===n&&!w&&"nextSibling"}return!0}if(w=[e?y.firstChild:y.lastChild],e&&d){for(k=y[o]||(y[o]={}),a=k[n]||[],v=a[0]===p&&a[1],l=a[0]===p&&a[2],c=v&&y.childNodes[v];c=++v&&c&&c[b]||(l=v=0)||w.pop();)if(1===c.nodeType&&++l&&c===t){k[n]=[p,v,l];break}}else if(d&&(a=(t[o]||(t[o]={}))[n])&&a[0]===p)l=a[1];else while(c=++v&&c&&c[b]||(l=v=0)||w.pop())if((f?c.nodeName.toLowerCase()===g:1===c.nodeType)&&++l&&(d&&((c[o]||(c[o]={}))[n]=[p,l]),c===t))break;return l-=u,l===r||0==l%r&&l/r>=0}}},PSEUDO:function(n,t){var f,i=r.pseudos[n]||r.setFilters[n.toLowerCase()]||u.error("unsupported pseudo: "+n);return i[o]?i(t):i.length>1?(f=[n,n,"",t],r.setFilters.hasOwnProperty(n.toLowerCase())?c(function(n,r){for(var u,f=i(n,t),e=f.length;e--;)u=it.call(n,f[e]),n[u]=!(r[u]=f[e])}):function(n){return i(n,0,f)}):i}},pseudos:{not:c(function(n){var i=[],r=[],t=kt(n.replace(vt,"$1"));return t[o]?c(function(n,i,r,u){for(var e,o=t(n,null,u,[]),f=n.length;f--;)(e=o[f])&&(n[f]=!(i[f]=e))}):function(n,u,f){return i[0]=n,t(i,null,f,r),!r.pop()}}),has:c(function(n){return function(t){return u(n,t).length>0}}),contains:c(function(n){return function(t){return(t.textContent||t.innerText||ct(t)).indexOf(n)>-1}}),lang:c(function(n){return er.test(n||"")||u.error("unsupported lang: "+n),n=n.replace(k,d).toLowerCase(),function(t){var i;do if(i=v?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return i=i.toLowerCase(),i===n||0===i.indexOf(n+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var i=n.location&&n.location.hash;return i&&i.slice(1)===t.id},root:function(n){return n===a},focus:function(n){return n===s.activeElement&&(!s.hasFocus||s.hasFocus())&&!!(n.type||n.href||~n.tabIndex)},enabled:function(n){return n.disabled===!1},disabled:function(n){return n.disabled===!0},checked:function(n){var t=n.nodeName.toLowerCase();return"input"===t&&!!n.checked||"option"===t&&!!n.selected},selected:function(n){return n.parentNode&&n.parentNode.selectedIndex,n.selected===!0},empty:function(n){for(n=n.firstChild;n;n=n.nextSibling)if(n.nodeName>"@"||3===n.nodeType||4===n.nodeType)return!1;return!0},parent:function(n){return!r.pseudos.empty(n)},header:function(n){return hr.test(n.nodeName)},input:function(n){return sr.test(n.nodeName)},button:function(n){var t=n.nodeName.toLowerCase();return"input"===t&&"button"===n.type||"button"===t},text:function(n){var t;return"input"===n.nodeName.toLowerCase()&&"text"===n.type&&(null==(t=n.getAttribute("type"))||t.toLowerCase()===n.type)},first:rt(function(){return[0]}),last:rt(function(n,t){return[t-1]}),eq:rt(function(n,t,i){return[0>i?i+t:i]}),even:rt(function(n,t){for(var i=0;t>i;i+=2)n.push(i);return n}),odd:rt(function(n,t){for(var i=1;t>i;i+=2)n.push(i);return n}),lt:rt(function(n,t,i){for(var r=0>i?i+t:i;--r>=0;)n.push(r);return n}),gt:rt(function(n,t,i){for(var r=0>i?i+t:i;t>++r;)n.push(r);return n})}};r.pseudos.nth=r.pseudos.eq;for(ut in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[ut]=lr(ut);for(ut in{submit:!0,reset:!0})r.pseudos[ut]=ar(ut);ki.prototype=r.filters=r.pseudos;r.setFilters=new ki;kt=u.compile=function(n,t){var r,u=[],f=[],i=ai[n+" "];if(!i){for(t||(t=pt(n)),r=t.length;r--;)i=si(t[r]),i[o]?u.push(i):f.push(i);i=ai(n,vr(f,u))}return i};e.sortStable=o.split("").sort(dt).join("")===o;e.detectDuplicates=ft;nt();e.sortDetached=l(function(n){return 1&n.compareDocumentPosition(s.createElement("div"))});l(function(n){return n.innerHTML="<a href='#'><\/a>","#"===n.firstChild.getAttribute("href")})||ui("type|href|height|width",function(n,i,r){return r?t:n.getAttribute(i,"type"===i.toLowerCase()?1:2)});e.attributes&&l(function(n){return n.innerHTML="<input/>",n.firstChild.setAttribute("value",""),""===n.firstChild.getAttribute("value")})||ui("value",function(n,i,r){return r||"input"!==n.nodeName.toLowerCase()?t:n.defaultValue});l(function(n){return null==n.getAttribute("disabled")})||ui(gt,function(n,i,r){var u;return r?t:(u=n.getAttributeNode(i))&&u.specified?u.value:n[i]===!0?i.toLowerCase():null});i.find=u;i.expr=u.selectors;i.expr[":"]=i.expr.pseudos;i.unique=u.uniqueSort;i.text=u.getText;i.isXMLDoc=u.isXML;i.contains=u.contains}(n);ni={};i.Callbacks=function(n){n="string"==typeof n?ni[n]||te(n):i.extend({},n);var s,f,c,e,o,l,r=[],u=!n.once&&[],a=function(t){for(f=n.memory&&t,c=!0,o=l||0,l=0,e=r.length,s=!0;r&&e>o;o++)if(r[o].apply(t[0],t[1])===!1&&n.stopOnFalse){f=!1;break}s=!1;r&&(u?u.length&&a(u.shift()):f?r=[]:h.disable())},h={add:function(){if(r){var t=r.length;(function u(t){i.each(t,function(t,f){var e=i.type(f);"function"===e?n.unique&&h.has(f)||r.push(f):f&&f.length&&"string"!==e&&u(f)})})(arguments);s?e=r.length:f&&(l=t,a(f))}return this},remove:function(){return r&&i.each(arguments,function(n,t){for(var u;(u=i.inArray(t,r,u))>-1;)r.splice(u,1),s&&(e>=u&&e--,o>=u&&o--)}),this},has:function(n){return n?i.inArray(n,r)>-1:!(!r||!r.length)},empty:function(){return r=[],e=0,this},disable:function(){return r=u=f=t,this},disabled:function(){return!r},lock:function(){return u=t,f||h.disable(),this},locked:function(){return!u},fireWith:function(n,t){return!r||c&&!u||(t=t||[],t=[n,t.slice?t.slice():t],s?u.push(t):a(t)),this},fire:function(){return h.fireWith(this,arguments),this},fired:function(){return!!c}};return h};i.extend({Deferred:function(n){var u=[["resolve","done",i.Callbacks("once memory"),"resolved"],["reject","fail",i.Callbacks("once memory"),"rejected"],["notify","progress",i.Callbacks("memory")]],f="pending",r={state:function(){return f},always:function(){return t.done(arguments).fail(arguments),this},then:function(){var n=arguments;return i.Deferred(function(f){i.each(u,function(u,e){var s=e[0],o=i.isFunction(n[u])&&n[u];t[e[1]](function(){var n=o&&o.apply(this,arguments);n&&i.isFunction(n.promise)?n.promise().done(f.resolve).fail(f.reject).progress(f.notify):f[s+"With"](this===r?f.promise():this,o?[n]:arguments)})});n=null}).promise()},promise:function(n){return null!=n?i.extend(n,r):r}},t={};return r.pipe=r.then,i.each(u,function(n,i){var e=i[2],o=i[3];r[i[1]]=e.add;o&&e.add(function(){f=o},u[1^n][2].disable,u[2][2].lock);t[i[0]]=function(){return t[i[0]+"With"](this===t?r:this,arguments),this};t[i[0]+"With"]=e.fireWith}),r.promise(t),n&&n.call(t,t),t},when:function(n){var t=0,u=l.call(arguments),r=u.length,e=1!==r||n&&i.isFunction(n.promise)?r:0,f=1===e?n:i.Deferred(),h=function(n,t,i){return function(r){t[n]=this;i[n]=arguments.length>1?l.call(arguments):r;i===o?f.notifyWith(t,i):--e||f.resolveWith(t,i)}},o,c,s;if(r>1)for(o=Array(r),c=Array(r),s=Array(r);r>t;t++)u[t]&&i.isFunction(u[t].promise)?u[t].promise().done(h(t,s,u)).fail(f.reject).progress(h(t,c,o)):--e;return e||f.resolveWith(s,u),f.promise()}});i.support=function(t){var a,e,f,h,c,l,v,y,s,u=r.createElement("div");if(u.setAttribute("className","t"),u.innerHTML="  <link/><table><\/table><a href='/a'>a<\/a><input type='checkbox'/>",a=u.getElementsByTagName("*")||[],e=u.getElementsByTagName("a")[0],!e||!e.style||!a.length)return t;h=r.createElement("select");l=h.appendChild(r.createElement("option"));f=u.getElementsByTagName("input")[0];e.style.cssText="top:1px;float:left;opacity:.5";t.getSetAttribute="t"!==u.className;t.leadingWhitespace=3===u.firstChild.nodeType;t.tbody=!u.getElementsByTagName("tbody").length;t.htmlSerialize=!!u.getElementsByTagName("link").length;t.style=/top/.test(e.getAttribute("style"));t.hrefNormalized="/a"===e.getAttribute("href");t.opacity=/^0.5/.test(e.style.opacity);t.cssFloat=!!e.style.cssFloat;t.checkOn=!!f.value;t.optSelected=l.selected;t.enctype=!!r.createElement("form").enctype;t.html5Clone="<:nav><\/:nav>"!==r.createElement("nav").cloneNode(!0).outerHTML;t.inlineBlockNeedsLayout=!1;t.shrinkWrapBlocks=!1;t.pixelPosition=!1;t.deleteExpando=!0;t.noCloneEvent=!0;t.reliableMarginRight=!0;t.boxSizingReliable=!0;f.checked=!0;t.noCloneChecked=f.cloneNode(!0).checked;h.disabled=!0;t.optDisabled=!l.disabled;try{delete u.test}catch(p){t.deleteExpando=!1}f=r.createElement("input");f.setAttribute("value","");t.input=""===f.getAttribute("value");f.value="t";f.setAttribute("type","radio");t.radioValue="t"===f.value;f.setAttribute("checked","t");f.setAttribute("name","t");c=r.createDocumentFragment();c.appendChild(f);t.appendChecked=f.checked;t.checkClone=c.cloneNode(!0).cloneNode(!0).lastChild.checked;u.attachEvent&&(u.attachEvent("onclick",function(){t.noCloneEvent=!1}),u.cloneNode(!0).click());for(s in{submit:!0,change:!0,focusin:!0})u.setAttribute(v="on"+s,"t"),t[s+"Bubbles"]=v in n||u.attributes[v].expando===!1;u.style.backgroundClip="content-box";u.cloneNode(!0).style.backgroundClip="";t.clearCloneStyle="content-box"===u.style.backgroundClip;for(s in i(t))break;return t.ownLast="0"!==s,i(function(){var h,e,f,c="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",s=r.getElementsByTagName("body")[0];s&&(h=r.createElement("div"),h.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",s.appendChild(h).appendChild(u),u.innerHTML="<table><tr><td><\/td><td>t<\/td><\/tr><\/table>",f=u.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",y=0===f[0].offsetHeight,f[0].style.display="",f[1].style.display="none",t.reliableHiddenOffsets=y&&0===f[0].offsetHeight,u.innerHTML="",u.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%;",i.swap(s,null!=s.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===u.offsetWidth}),n.getComputedStyle&&(t.pixelPosition="1%"!==(n.getComputedStyle(u,null)||{}).top,t.boxSizingReliable="4px"===(n.getComputedStyle(u,null)||{width:"4px"}).width,e=u.appendChild(r.createElement("div")),e.style.cssText=u.style.cssText=c,e.style.marginRight=e.style.width="0",u.style.width="1px",t.reliableMarginRight=!parseFloat((n.getComputedStyle(e,null)||{}).marginRight)),typeof u.style.zoom!==o&&(u.innerHTML="",u.style.cssText=c+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===u.offsetWidth,u.style.display="block",u.innerHTML="<div><\/div>",u.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==u.offsetWidth,t.inlineBlockNeedsLayout&&(s.style.zoom=1)),s.removeChild(h),h=u=f=e=null)}),a=h=c=l=e=f=null,t}({});ir=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/;rr=/([A-Z])/g;i.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(n){return n=n.nodeType?i.cache[n[i.expando]]:n[i.expando],!!n&&!ti(n)},data:function(n,t,i){return ur(n,t,i)},removeData:function(n,t){return fr(n,t)},_data:function(n,t,i){return ur(n,t,i,!0)},_removeData:function(n,t){return fr(n,t,!0)},acceptData:function(n){if(n.nodeType&&1!==n.nodeType&&9!==n.nodeType)return!1;var t=n.nodeName&&i.noData[n.nodeName.toLowerCase()];return!t||t!==!0&&n.getAttribute("classid")===t}});i.fn.extend({data:function(n,r){var e,f,o=null,s=0,u=this[0];if(n===t){if(this.length&&(o=i.data(u),1===u.nodeType&&!i._data(u,"parsedAttrs"))){for(e=u.attributes;e.length>s;s++)f=e[s].name,0===f.indexOf("data-")&&(f=i.camelCase(f.slice(5)),er(u,f,o[f]));i._data(u,"parsedAttrs",!0)}return o}return"object"==typeof n?this.each(function(){i.data(this,n)}):arguments.length>1?this.each(function(){i.data(this,n,r)}):u?er(u,n,i.data(u,n)):null},removeData:function(n){return this.each(function(){i.removeData(this,n)})}});i.extend({queue:function(n,r,u){var f;return n?(r=(r||"fx")+"queue",f=i._data(n,r),u&&(!f||i.isArray(u)?f=i._data(n,r,i.makeArray(u)):f.push(u)),f||[]):t},dequeue:function(n,t){t=t||"fx";var r=i.queue(n,t),e=r.length,u=r.shift(),f=i._queueHooks(n,t),o=function(){i.dequeue(n,t)};"inprogress"===u&&(u=r.shift(),e--);u&&("fx"===t&&r.unshift("inprogress"),delete f.stop,u.call(n,o,f));!e&&f&&f.empty.fire()},_queueHooks:function(n,t){var r=t+"queueHooks";return i._data(n,r)||i._data(n,r,{empty:i.Callbacks("once memory").add(function(){i._removeData(n,t+"queue");i._removeData(n,r)})})}});i.fn.extend({queue:function(n,r){var u=2;return"string"!=typeof n&&(r=n,n="fx",u--),u>arguments.length?i.queue(this[0],n):r===t?this:this.each(function(){var t=i.queue(this,n,r);i._queueHooks(this,n);"fx"===n&&"inprogress"!==t[0]&&i.dequeue(this,n)})},dequeue:function(n){return this.each(function(){i.dequeue(this,n)})},delay:function(n,t){return n=i.fx?i.fx.speeds[n]||n:n,t=t||"fx",this.queue(t,function(t,i){var r=setTimeout(t,n);i.stop=function(){clearTimeout(r)}})},clearQueue:function(n){return this.queue(n||"fx",[])},promise:function(n,r){var u,e=1,o=i.Deferred(),f=this,s=this.length,h=function(){--e||o.resolveWith(f,[f])};for("string"!=typeof n&&(r=n,n=t),n=n||"fx";s--;)u=i._data(f[s],n+"queueHooks"),u&&u.empty&&(e++,u.empty.add(h));return h(),o.promise(r)}});var d,or,ii=/[\t\r\n\f]/g,ie=/\r/g,re=/^(?:input|select|textarea|button|object)$/i,ue=/^(?:a|area)$/i,ri=/^(?:checked|selected)$/i,a=i.support.getSetAttribute,ht=i.support.input;i.fn.extend({attr:function(n,t){return i.access(this,i.attr,n,t,arguments.length>1)},removeAttr:function(n){return this.each(function(){i.removeAttr(this,n)})},prop:function(n,t){return i.access(this,i.prop,n,t,arguments.length>1)},removeProp:function(n){return n=i.propFix[n]||n,this.each(function(){try{this[n]=t;delete this[n]}catch(i){}})},addClass:function(n){var e,t,r,u,o,f=0,h=this.length,c="string"==typeof n&&n;if(i.isFunction(n))return this.each(function(t){i(this).addClass(n.call(this,t,this.className))});if(c)for(e=(n||"").match(s)||[];h>f;f++)if(t=this[f],r=1===t.nodeType&&(t.className?(" "+t.className+" ").replace(ii," "):" ")){for(o=0;u=e[o++];)0>r.indexOf(" "+u+" ")&&(r+=u+" ");t.className=i.trim(r)}return this},removeClass:function(n){var e,t,r,u,o,f=0,h=this.length,c=0===arguments.length||"string"==typeof n&&n;if(i.isFunction(n))return this.each(function(t){i(this).removeClass(n.call(this,t,this.className))});if(c)for(e=(n||"").match(s)||[];h>f;f++)if(t=this[f],r=1===t.nodeType&&(t.className?(" "+t.className+" ").replace(ii," "):"")){for(o=0;u=e[o++];)while(r.indexOf(" "+u+" ")>=0)r=r.replace(" "+u+" "," ");t.className=n?i.trim(r):""}return this},toggleClass:function(n,t){var r=typeof n;return"boolean"==typeof t&&"string"===r?t?this.addClass(n):this.removeClass(n):i.isFunction(n)?this.each(function(r){i(this).toggleClass(n.call(this,r,this.className,t),t)}):this.each(function(){if("string"===r)for(var t,f=0,u=i(this),e=n.match(s)||[];t=e[f++];)u.hasClass(t)?u.removeClass(t):u.addClass(t);else(r===o||"boolean"===r)&&(this.className&&i._data(this,"__className__",this.className),this.className=this.className||n===!1?"":i._data(this,"__className__")||"")})},hasClass:function(n){for(var i=" "+n+" ",t=0,r=this.length;r>t;t++)if(1===this[t].nodeType&&(" "+this[t].className+" ").replace(ii," ").indexOf(i)>=0)return!0;return!1},val:function(n){var u,r,e,f=this[0];return arguments.length?(e=i.isFunction(n),this.each(function(u){var f;1===this.nodeType&&(f=e?n.call(this,u,i(this).val()):n,null==f?f="":"number"==typeof f?f+="":i.isArray(f)&&(f=i.map(f,function(n){return null==n?"":n+""})),r=i.valHooks[this.type]||i.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,f,"value")!==t||(this.value=f))})):f?(r=i.valHooks[f.type]||i.valHooks[f.nodeName.toLowerCase()],r&&"get"in r&&(u=r.get(f,"value"))!==t?u:(u=f.value,"string"==typeof u?u.replace(ie,""):null==u?"":u)):void 0}});i.extend({valHooks:{option:{get:function(n){var t=i.find.attr(n,"value");return null!=t?t:n.text}},select:{get:function(n){for(var e,t,o=n.options,r=n.selectedIndex,u="select-one"===n.type||0>r,s=u?null:[],h=u?r+1:o.length,f=0>r?h:u?r:0;h>f;f++)if(t=o[f],!(!t.selected&&f!==r||(i.support.optDisabled?t.disabled:null!==t.getAttribute("disabled"))||t.parentNode.disabled&&i.nodeName(t.parentNode,"optgroup"))){if(e=i(t).val(),u)return e;s.push(e)}return s},set:function(n,t){for(var u,r,f=n.options,e=i.makeArray(t),o=f.length;o--;)r=f[o],(r.selected=i.inArray(i(r).val(),e)>=0)&&(u=!0);return u||(n.selectedIndex=-1),e}}},attr:function(n,r,u){var f,e,s=n.nodeType;if(n&&3!==s&&8!==s&&2!==s)return typeof n.getAttribute===o?i.prop(n,r,u):(1===s&&i.isXMLDoc(n)||(r=r.toLowerCase(),f=i.attrHooks[r]||(i.expr.match.bool.test(r)?or:d)),u===t?f&&"get"in f&&null!==(e=f.get(n,r))?e:(e=i.find.attr(n,r),null==e?t:e):null!==u?f&&"set"in f&&(e=f.set(n,u,r))!==t?e:(n.setAttribute(r,u+""),u):(i.removeAttr(n,r),t))},removeAttr:function(n,t){var r,u,e=0,f=t&&t.match(s);if(f&&1===n.nodeType)while(r=f[e++])u=i.propFix[r]||r,i.expr.match.bool.test(r)?ht&&a||!ri.test(r)?n[u]=!1:n[i.camelCase("default-"+r)]=n[u]=!1:i.attr(n,r,""),n.removeAttribute(a?r:u)},attrHooks:{type:{set:function(n,t){if(!i.support.radioValue&&"radio"===t&&i.nodeName(n,"input")){var r=n.value;return n.setAttribute("type",t),r&&(n.value=r),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(n,r,u){var e,f,s,o=n.nodeType;if(n&&3!==o&&8!==o&&2!==o)return s=1!==o||!i.isXMLDoc(n),s&&(r=i.propFix[r]||r,f=i.propHooks[r]),u!==t?f&&"set"in f&&(e=f.set(n,u,r))!==t?e:n[r]=u:f&&"get"in f&&null!==(e=f.get(n,r))?e:n[r]},propHooks:{tabIndex:{get:function(n){var t=i.find.attr(n,"tabindex");return t?parseInt(t,10):re.test(n.nodeName)||ue.test(n.nodeName)&&n.href?0:-1}}}});or={set:function(n,t,r){return t===!1?i.removeAttr(n,r):ht&&a||!ri.test(r)?n.setAttribute(!a&&i.propFix[r]||r,r):n[i.camelCase("default-"+r)]=n[r]=!0,r}};i.each(i.expr.match.bool.source.match(/\w+/g),function(n,r){var u=i.expr.attrHandle[r]||i.find.attr;i.expr.attrHandle[r]=ht&&a||!ri.test(r)?function(n,r,f){var e=i.expr.attrHandle[r],o=f?t:(i.expr.attrHandle[r]=t)!=u(n,r,f)?r.toLowerCase():null;return i.expr.attrHandle[r]=e,o}:function(n,r,u){return u?t:n[i.camelCase("default-"+r)]?r.toLowerCase():null}});ht&&a||(i.attrHooks.value={set:function(n,r,u){return i.nodeName(n,"input")?(n.defaultValue=r,t):d&&d.set(n,r,u)}});a||(d={set:function(n,i,r){var u=n.getAttributeNode(r);return u||n.setAttributeNode(u=n.ownerDocument.createAttribute(r)),u.value=i+="","value"===r||i===n.getAttribute(r)?i:t}},i.expr.attrHandle.id=i.expr.attrHandle.name=i.expr.attrHandle.coords=function(n,i,r){var u;return r?t:(u=n.getAttributeNode(i))&&""!==u.value?u.value:null},i.valHooks.button={get:function(n,i){var r=n.getAttributeNode(i);return r&&r.specified?r.value:t},set:d.set},i.attrHooks.contenteditable={set:function(n,t,i){d.set(n,""===t?!1:t,i)}},i.each(["width","height"],function(n,r){i.attrHooks[r]={set:function(n,i){return""===i?(n.setAttribute(r,"auto"),i):t}}}));i.support.hrefNormalized||i.each(["href","src"],function(n,t){i.propHooks[t]={get:function(n){return n.getAttribute(t,4)}}});i.support.style||(i.attrHooks.style={get:function(n){return n.style.cssText||t},set:function(n,t){return n.style.cssText=t+""}});i.support.optSelected||(i.propHooks.selected={get:function(n){var t=n.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}});i.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){i.propFix[this.toLowerCase()]=this});i.support.enctype||(i.propFix.enctype="encoding");i.each(["radio","checkbox"],function(){i.valHooks[this]={set:function(n,r){return i.isArray(r)?n.checked=i.inArray(i(n).val(),r)>=0:t}};i.support.checkOn||(i.valHooks[this].get=function(n){return null===n.getAttribute("value")?"on":n.value})});var ui=/^(?:input|select|textarea)$/i,fe=/^key/,ee=/^(?:mouse|contextmenu)|click/,sr=/^(?:focusinfocus|focusoutblur)$/,hr=/^([^.]*)(?:\.(.+)|)$/;i.event={global:{},add:function(n,r,u,f,e){var b,p,k,w,c,l,a,v,h,d,g,y=i._data(n);if(y){for(u.handler&&(w=u,u=w.handler,e=w.selector),u.guid||(u.guid=i.guid++),(p=y.events)||(p=y.events={}),(l=y.handle)||(l=y.handle=function(n){return typeof i===o||n&&i.event.triggered===n.type?t:i.event.dispatch.apply(l.elem,arguments)},l.elem=n),r=(r||"").match(s)||[""],k=r.length;k--;)b=hr.exec(r[k])||[],h=g=b[1],d=(b[2]||"").split(".").sort(),h&&(c=i.event.special[h]||{},h=(e?c.delegateType:c.bindType)||h,c=i.event.special[h]||{},a=i.extend({type:h,origType:g,data:f,handler:u,guid:u.guid,selector:e,needsContext:e&&i.expr.match.needsContext.test(e),namespace:d.join(".")},w),(v=p[h])||(v=p[h]=[],v.delegateCount=0,c.setup&&c.setup.call(n,f,d,l)!==!1||(n.addEventListener?n.addEventListener(h,l,!1):n.attachEvent&&n.attachEvent("on"+h,l))),c.add&&(c.add.call(n,a),a.handler.guid||(a.handler.guid=u.guid)),e?v.splice(v.delegateCount++,0,a):v.push(a),i.event.global[h]=!0);n=null}},remove:function(n,t,r,u,f){var y,o,h,b,p,a,c,l,e,w,k,v=i.hasData(n)&&i._data(n);if(v&&(a=v.events)){for(t=(t||"").match(s)||[""],p=t.length;p--;)if(h=hr.exec(t[p])||[],e=k=h[1],w=(h[2]||"").split(".").sort(),e){for(c=i.event.special[e]||{},e=(u?c.delegateType:c.bindType)||e,l=a[e]||[],h=h[2]&&RegExp("(^|\\.)"+w.join("\\.(?:.*\\.|)")+"(\\.|$)"),b=y=l.length;y--;)o=l[y],!f&&k!==o.origType||r&&r.guid!==o.guid||h&&!h.test(o.namespace)||u&&u!==o.selector&&("**"!==u||!o.selector)||(l.splice(y,1),o.selector&&l.delegateCount--,c.remove&&c.remove.call(n,o));b&&!l.length&&(c.teardown&&c.teardown.call(n,w,v.handle)!==!1||i.removeEvent(n,e,v.handle),delete a[e])}else for(e in a)i.event.remove(n,e+t[p],r,u,!0);i.isEmptyObject(a)&&(delete v.handle,i._removeData(n,"events"))}},trigger:function(u,f,e,o){var a,v,s,w,l,c,b,p=[e||r],h=k.call(u,"type")?u.type:u,y=k.call(u,"namespace")?u.namespace.split("."):[];if(s=c=e=e||r,3!==e.nodeType&&8!==e.nodeType&&!sr.test(h+i.event.triggered)&&(h.indexOf(".")>=0&&(y=h.split("."),h=y.shift(),y.sort()),v=0>h.indexOf(":")&&"on"+h,u=u[i.expando]?u:new i.Event(h,"object"==typeof u&&u),u.isTrigger=o?2:3,u.namespace=y.join("."),u.namespace_re=u.namespace?RegExp("(^|\\.)"+y.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,u.result=t,u.target||(u.target=e),f=null==f?[u]:i.makeArray(f,[u]),l=i.event.special[h]||{},o||!l.trigger||l.trigger.apply(e,f)!==!1)){if(!o&&!l.noBubble&&!i.isWindow(e)){for(w=l.delegateType||h,sr.test(w+h)||(s=s.parentNode);s;s=s.parentNode)p.push(s),c=s;c===(e.ownerDocument||r)&&p.push(c.defaultView||c.parentWindow||n)}for(b=0;(s=p[b++])&&!u.isPropagationStopped();)u.type=b>1?w:l.bindType||h,a=(i._data(s,"events")||{})[u.type]&&i._data(s,"handle"),a&&a.apply(s,f),a=v&&s[v],a&&i.acceptData(s)&&a.apply&&a.apply(s,f)===!1&&u.preventDefault();if(u.type=h,!o&&!u.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),f)===!1)&&i.acceptData(e)&&v&&e[h]&&!i.isWindow(e)){c=e[v];c&&(e[v]=null);i.event.triggered=h;try{e[h]()}catch(d){}i.event.triggered=t;c&&(e[v]=c)}return u.result}},dispatch:function(n){n=i.event.fix(n);var o,e,r,u,s,h=[],c=l.call(arguments),a=(i._data(this,"events")||{})[n.type]||[],f=i.event.special[n.type]||{};if(c[0]=n,n.delegateTarget=this,!f.preDispatch||f.preDispatch.call(this,n)!==!1){for(h=i.event.handlers.call(this,n,a),o=0;(u=h[o++])&&!n.isPropagationStopped();)for(n.currentTarget=u.elem,s=0;(r=u.handlers[s++])&&!n.isImmediatePropagationStopped();)(!n.namespace_re||n.namespace_re.test(r.namespace))&&(n.handleObj=r,n.data=r.data,e=((i.event.special[r.origType]||{}).handle||r.handler).apply(u.elem,c),e!==t&&(n.result=e)===!1&&(n.preventDefault(),n.stopPropagation()));return f.postDispatch&&f.postDispatch.call(this,n),n.result}},handlers:function(n,r){var e,o,f,s,c=[],h=r.delegateCount,u=n.target;if(h&&u.nodeType&&(!n.button||"click"!==n.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==n.type)){for(f=[],s=0;h>s;s++)o=r[s],e=o.selector+" ",f[e]===t&&(f[e]=o.needsContext?i(e,this).index(u)>=0:i.find(e,this,null,[u]).length),f[e]&&f.push(o);f.length&&c.push({elem:u,handlers:f})}return r.length>h&&c.push({elem:this,handlers:r.slice(h)}),c},fix:function(n){if(n[i.expando])return n;var e,o,s,u=n.type,f=n,t=this.fixHooks[u];for(t||(this.fixHooks[u]=t=ee.test(u)?this.mouseHooks:fe.test(u)?this.keyHooks:{}),s=t.props?this.props.concat(t.props):this.props,n=new i.Event(f),e=s.length;e--;)o=s[e],n[o]=f[o];return n.target||(n.target=f.srcElement||r),3===n.target.nodeType&&(n.target=n.target.parentNode),n.metaKey=!!n.metaKey,t.filter?t.filter(n,f):n},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(n,t){return null==n.which&&(n.which=null!=t.charCode?t.charCode:t.keyCode),n}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(n,i){var u,o,f,e=i.button,s=i.fromElement;return null==n.pageX&&null!=i.clientX&&(o=n.target.ownerDocument||r,f=o.documentElement,u=o.body,n.pageX=i.clientX+(f&&f.scrollLeft||u&&u.scrollLeft||0)-(f&&f.clientLeft||u&&u.clientLeft||0),n.pageY=i.clientY+(f&&f.scrollTop||u&&u.scrollTop||0)-(f&&f.clientTop||u&&u.clientTop||0)),!n.relatedTarget&&s&&(n.relatedTarget=s===n.target?i.toElement:s),n.which||e===t||(n.which=1&e?1:2&e?3:4&e?2:0),n}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cr()&&this.focus)try{return this.focus(),!1}catch(n){}},delegateType:"focusin"},blur:{trigger:function(){return this===cr()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return i.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(n){return i.nodeName(n.target,"a")}},beforeunload:{postDispatch:function(n){n.result!==t&&(n.originalEvent.returnValue=n.result)}}},simulate:function(n,t,r,u){var f=i.extend(new i.Event,r,{type:n,isSimulated:!0,originalEvent:{}});u?i.event.trigger(f,null,t):i.event.dispatch.call(t,f);f.isDefaultPrevented()&&r.preventDefault()}};i.removeEvent=r.removeEventListener?function(n,t,i){n.removeEventListener&&n.removeEventListener(t,i,!1)}:function(n,t,i){var r="on"+t;n.detachEvent&&(typeof n[r]===o&&(n[r]=null),n.detachEvent(r,i))};i.Event=function(n,r){return this instanceof i.Event?(n&&n.type?(this.originalEvent=n,this.type=n.type,this.isDefaultPrevented=n.defaultPrevented||n.returnValue===!1||n.getPreventDefault&&n.getPreventDefault()?ct:g):this.type=n,r&&i.extend(this,r),this.timeStamp=n&&n.timeStamp||i.now(),this[i.expando]=!0,t):new i.Event(n,r)};i.Event.prototype={isDefaultPrevented:g,isPropagationStopped:g,isImmediatePropagationStopped:g,preventDefault:function(){var n=this.originalEvent;this.isDefaultPrevented=ct;n&&(n.preventDefault?n.preventDefault():n.returnValue=!1)},stopPropagation:function(){var n=this.originalEvent;this.isPropagationStopped=ct;n&&(n.stopPropagation&&n.stopPropagation(),n.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=ct;this.stopPropagation()}};i.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(n,t){i.event.special[n]={delegateType:t,bindType:t,handle:function(n){var u,f=this,r=n.relatedTarget,e=n.handleObj;return(!r||r!==f&&!i.contains(f,r))&&(n.type=e.origType,u=e.handler.apply(this,arguments),n.type=t),u}}});i.support.submitBubbles||(i.event.special.submit={setup:function(){return i.nodeName(this,"form")?!1:(i.event.add(this,"click._submit keypress._submit",function(n){var u=n.target,r=i.nodeName(u,"input")||i.nodeName(u,"button")?u.form:t;r&&!i._data(r,"submitBubbles")&&(i.event.add(r,"submit._submit",function(n){n._submit_bubble=!0}),i._data(r,"submitBubbles",!0))}),t)},postDispatch:function(n){n._submit_bubble&&(delete n._submit_bubble,this.parentNode&&!n.isTrigger&&i.event.simulate("submit",this.parentNode,n,!0))},teardown:function(){return i.nodeName(this,"form")?!1:(i.event.remove(this,"._submit"),t)}});i.support.changeBubbles||(i.event.special.change={setup:function(){return ui.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(i.event.add(this,"propertychange._change",function(n){"checked"===n.originalEvent.propertyName&&(this._just_changed=!0)}),i.event.add(this,"click._change",function(n){this._just_changed&&!n.isTrigger&&(this._just_changed=!1);i.event.simulate("change",this,n,!0)})),!1):(i.event.add(this,"beforeactivate._change",function(n){var t=n.target;ui.test(t.nodeName)&&!i._data(t,"changeBubbles")&&(i.event.add(t,"change._change",function(n){!this.parentNode||n.isSimulated||n.isTrigger||i.event.simulate("change",this.parentNode,n,!0)}),i._data(t,"changeBubbles",!0))}),t)},handle:function(n){var i=n.target;return this!==i||n.isSimulated||n.isTrigger||"radio"!==i.type&&"checkbox"!==i.type?n.handleObj.handler.apply(this,arguments):t},teardown:function(){return i.event.remove(this,"._change"),!ui.test(this.nodeName)}});i.support.focusinBubbles||i.each({focus:"focusin",blur:"focusout"},function(n,t){var u=0,f=function(n){i.event.simulate(t,n.target,i.event.fix(n),!0)};i.event.special[t]={setup:function(){0==u++&&r.addEventListener(n,f,!0)},teardown:function(){0==--u&&r.removeEventListener(n,f,!0)}}});i.fn.extend({on:function(n,r,u,f,e){var s,o;if("object"==typeof n){"string"!=typeof r&&(u=u||r,r=t);for(s in n)this.on(s,r,u,n[s],e);return this}if(null==u&&null==f?(f=r,u=r=t):null==f&&("string"==typeof r?(f=u,u=t):(f=u,u=r,r=t)),f===!1)f=g;else if(!f)return this;return 1===e&&(o=f,f=function(n){return i().off(n),o.apply(this,arguments)},f.guid=o.guid||(o.guid=i.guid++)),this.each(function(){i.event.add(this,n,f,u,r)})},one:function(n,t,i,r){return this.on(n,t,i,r,1)},off:function(n,r,u){var f,e;if(n&&n.preventDefault&&n.handleObj)return f=n.handleObj,i(n.delegateTarget).off(f.namespace?f.origType+"."+f.namespace:f.origType,f.selector,f.handler),this;if("object"==typeof n){for(e in n)this.off(e,r,n[e]);return this}return(r===!1||"function"==typeof r)&&(u=r,r=t),u===!1&&(u=g),this.each(function(){i.event.remove(this,n,u,r)})},trigger:function(n,t){return this.each(function(){i.event.trigger(n,t,this)})},triggerHandler:function(n,r){var u=this[0];return u?i.event.trigger(n,r,u,!0):t}});var oe=/^.[^:#\[\.,]*$/,se=/^(?:parents|prev(?:Until|All))/,lr=i.expr.match.needsContext,he={children:!0,contents:!0,next:!0,prev:!0};i.fn.extend({find:function(n){var t,r=[],u=this,f=u.length;if("string"!=typeof n)return this.pushStack(i(n).filter(function(){for(t=0;f>t;t++)if(i.contains(u[t],this))return!0}));for(t=0;f>t;t++)i.find(n,u[t],r);return r=this.pushStack(f>1?i.unique(r):r),r.selector=this.selector?this.selector+" "+n:n,r},has:function(n){var t,r=i(n,this),u=r.length;return this.filter(function(){for(t=0;u>t;t++)if(i.contains(this,r[t]))return!0})},not:function(n){return this.pushStack(fi(this,n||[],!0))},filter:function(n){return this.pushStack(fi(this,n||[],!1))},is:function(n){return!!fi(this,"string"==typeof n&&lr.test(n)?i(n):n||[],!1).length},closest:function(n,t){for(var r,f=0,o=this.length,u=[],e=lr.test(n)||"string"!=typeof n?i(n,t||this.context):0;o>f;f++)for(r=this[f];r&&r!==t;r=r.parentNode)if(11>r.nodeType&&(e?e.index(r)>-1:1===r.nodeType&&i.find.matchesSelector(r,n))){r=u.push(r);break}return this.pushStack(u.length>1?i.unique(u):u)},index:function(n){return n?"string"==typeof n?i.inArray(this[0],i(n)):i.inArray(n.jquery?n[0]:n,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(n,t){var r="string"==typeof n?i(n,t):i.makeArray(n&&n.nodeType?[n]:n),u=i.merge(this.get(),r);return this.pushStack(i.unique(u))},addBack:function(n){return this.add(null==n?this.prevObject:this.prevObject.filter(n))}});i.each({parent:function(n){var t=n.parentNode;return t&&11!==t.nodeType?t:null},parents:function(n){return i.dir(n,"parentNode")},parentsUntil:function(n,t,r){return i.dir(n,"parentNode",r)},next:function(n){return ar(n,"nextSibling")},prev:function(n){return ar(n,"previousSibling")},nextAll:function(n){return i.dir(n,"nextSibling")},prevAll:function(n){return i.dir(n,"previousSibling")},nextUntil:function(n,t,r){return i.dir(n,"nextSibling",r)},prevUntil:function(n,t,r){return i.dir(n,"previousSibling",r)},siblings:function(n){return i.sibling((n.parentNode||{}).firstChild,n)},children:function(n){return i.sibling(n.firstChild)},contents:function(n){return i.nodeName(n,"iframe")?n.contentDocument||n.contentWindow.document:i.merge([],n.childNodes)}},function(n,t){i.fn[n]=function(r,u){var f=i.map(this,t,r);return"Until"!==n.slice(-5)&&(u=r),u&&"string"==typeof u&&(f=i.filter(u,f)),this.length>1&&(he[n]||(f=i.unique(f)),se.test(n)&&(f=f.reverse())),this.pushStack(f)}});i.extend({filter:function(n,t,r){var u=t[0];return r&&(n=":not("+n+")"),1===t.length&&1===u.nodeType?i.find.matchesSelector(u,n)?[u]:[]:i.find.matches(n,i.grep(t,function(n){return 1===n.nodeType}))},dir:function(n,r,u){for(var e=[],f=n[r];f&&9!==f.nodeType&&(u===t||1!==f.nodeType||!i(f).is(u));)1===f.nodeType&&e.push(f),f=f[r];return e},sibling:function(n,t){for(var i=[];n;n=n.nextSibling)1===n.nodeType&&n!==t&&i.push(n);return i}});var yr="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ce=/ jQuery\d+="(?:null|\d+)"/g,pr=RegExp("<(?:"+yr+")[\\s/>]","i"),ei=/^\s+/,wr=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,br=/<([\w:]+)/,kr=/<tbody/i,le=/<|&#?\w+;/,ae=/<(?:script|style|link)/i,oi=/^(?:checkbox|radio)$/i,ve=/checked\s*(?:[^=]|=\s*.checked.)/i,dr=/^$|\/(?:java|ecma)script/i,ye=/^true\/(.*)/,pe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,e={option:[1,"<select multiple='multiple'>","<\/select>"],legend:[1,"<fieldset>","<\/fieldset>"],area:[1,"<map>","<\/map>"],param:[1,"<object>","<\/object>"],thead:[1,"<table>","<\/table>"],tr:[2,"<table><tbody>","<\/tbody><\/table>"],col:[2,"<table><tbody><\/tbody><colgroup>","<\/colgroup><\/table>"],td:[3,"<table><tbody><tr>","<\/tr><\/tbody><\/table>"],_default:i.support.htmlSerialize?[0,"",""]:[1,"X<div>","<\/div>"]},we=vr(r),si=we.appendChild(r.createElement("div"));e.optgroup=e.option;e.tbody=e.tfoot=e.colgroup=e.caption=e.thead;e.th=e.td;i.fn.extend({text:function(n){return i.access(this,function(n){return n===t?i.text(this):this.empty().append((this[0]&&this[0].ownerDocument||r).createTextNode(n))},null,n,arguments.length)},append:function(){return this.domManip(arguments,function(n){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=gr(this,n);t.appendChild(n)}})},prepend:function(){return this.domManip(arguments,function(n){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=gr(this,n);t.insertBefore(n,t.firstChild)}})},before:function(){return this.domManip(arguments,function(n){this.parentNode&&this.parentNode.insertBefore(n,this)})},after:function(){return this.domManip(arguments,function(n){this.parentNode&&this.parentNode.insertBefore(n,this.nextSibling)})},remove:function(n,t){for(var r,e=n?i.filter(n,this):this,f=0;null!=(r=e[f]);f++)t||1!==r.nodeType||i.cleanData(u(r)),r.parentNode&&(t&&i.contains(r.ownerDocument,r)&&hi(u(r,"script")),r.parentNode.removeChild(r));return this},empty:function(){for(var n,t=0;null!=(n=this[t]);t++){for(1===n.nodeType&&i.cleanData(u(n,!1));n.firstChild;)n.removeChild(n.firstChild);n.options&&i.nodeName(n,"select")&&(n.options.length=0)}return this},clone:function(n,t){return n=null==n?!1:n,t=null==t?n:t,this.map(function(){return i.clone(this,n,t)})},html:function(n){return i.access(this,function(n){var r=this[0]||{},f=0,o=this.length;if(n===t)return 1===r.nodeType?r.innerHTML.replace(ce,""):t;if(!("string"!=typeof n||ae.test(n)||!i.support.htmlSerialize&&pr.test(n)||!i.support.leadingWhitespace&&ei.test(n)||e[(br.exec(n)||["",""])[1].toLowerCase()])){n=n.replace(wr,"<$1><\/$2>");try{for(;o>f;f++)r=this[f]||{},1===r.nodeType&&(i.cleanData(u(r,!1)),r.innerHTML=n);r=0}catch(s){}}r&&this.empty().append(n)},null,n,arguments.length)},replaceWith:function(){var t=i.map(this,function(n){return[n.nextSibling,n.parentNode]}),n=0;return this.domManip(arguments,function(r){var u=t[n++],f=t[n++];f&&(u&&u.parentNode!==f&&(u=this.nextSibling),i(this).remove(),f.insertBefore(r,u))},!0),n?this:this.remove()},detach:function(n){return this.remove(n,!0)},domManip:function(n,t,r){n=di.apply([],n);var h,f,c,o,v,s,e=0,l=this.length,p=this,w=l-1,a=n[0],y=i.isFunction(a);if(y||!(1>=l||"string"!=typeof a||i.support.checkClone)&&ve.test(a))return this.each(function(i){var u=p.eq(i);y&&(n[0]=a.call(this,i,u.html()));u.domManip(n,t,r)});if(l&&(s=i.buildFragment(n,this[0].ownerDocument,!1,!r&&this),h=s.firstChild,1===s.childNodes.length&&(s=h),h)){for(o=i.map(u(s,"script"),nu),c=o.length;l>e;e++)f=s,e!==w&&(f=i.clone(f,!0,!0),c&&i.merge(o,u(f,"script"))),t.call(this[e],f,e);if(c)for(v=o[o.length-1].ownerDocument,i.map(o,tu),e=0;c>e;e++)f=o[e],dr.test(f.type||"")&&!i._data(f,"globalEval")&&i.contains(v,f)&&(f.src?i._evalUrl(f.src):i.globalEval((f.text||f.textContent||f.innerHTML||"").replace(pe,"")));s=h=null}return this}});i.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(n,t){i.fn[n]=function(n){for(var u,r=0,f=[],e=i(n),o=e.length-1;o>=r;r++)u=r===o?this:this.clone(!0),i(e[r])[t](u),kt.apply(f,u.get());return this.pushStack(f)}});i.extend({clone:function(n,t,r){var f,h,o,e,s,c=i.contains(n.ownerDocument,n);if(i.support.html5Clone||i.isXMLDoc(n)||!pr.test("<"+n.nodeName+">")?o=n.cloneNode(!0):(si.innerHTML=n.outerHTML,si.removeChild(o=si.firstChild)),!(i.support.noCloneEvent&&i.support.noCloneChecked||1!==n.nodeType&&11!==n.nodeType||i.isXMLDoc(n)))for(f=u(o),s=u(n),e=0;null!=(h=s[e]);++e)f[e]&&be(h,f[e]);if(t)if(r)for(s=s||u(n),f=f||u(o),e=0;null!=(h=s[e]);e++)iu(h,f[e]);else iu(n,o);return f=u(o,"script"),f.length>0&&hi(f,!c&&u(n,"script")),f=s=h=null,o},buildFragment:function(n,t,r,f){for(var h,o,w,s,y,p,l,b=n.length,a=vr(t),c=[],v=0;b>v;v++)if(o=n[v],o||0===o)if("object"===i.type(o))i.merge(c,o.nodeType?[o]:o);else if(le.test(o)){for(s=s||a.appendChild(t.createElement("div")),y=(br.exec(o)||["",""])[1].toLowerCase(),l=e[y]||e._default,s.innerHTML=l[1]+o.replace(wr,"<$1><\/$2>")+l[2],h=l[0];h--;)s=s.lastChild;if(!i.support.leadingWhitespace&&ei.test(o)&&c.push(t.createTextNode(ei.exec(o)[0])),!i.support.tbody)for(o="table"!==y||kr.test(o)?"<table>"!==l[1]||kr.test(o)?0:s:s.firstChild,h=o&&o.childNodes.length;h--;)i.nodeName(p=o.childNodes[h],"tbody")&&!p.childNodes.length&&o.removeChild(p);for(i.merge(c,s.childNodes),s.textContent="";s.firstChild;)s.removeChild(s.firstChild);s=a.lastChild}else c.push(t.createTextNode(o));for(s&&a.removeChild(s),i.support.appendChecked||i.grep(u(c,"input"),ke),v=0;o=c[v++];)if((!f||-1===i.inArray(o,f))&&(w=i.contains(o.ownerDocument,o),s=u(a.appendChild(o),"script"),w&&hi(s),r))for(h=0;o=s[h++];)dr.test(o.type||"")&&r.push(o);return s=null,a},cleanData:function(n,t){for(var r,f,u,e,c=0,s=i.expando,h=i.cache,l=i.support.deleteExpando,a=i.event.special;null!=(r=n[c]);c++)if((t||i.acceptData(r))&&(u=r[s],e=u&&h[u])){if(e.events)for(f in e.events)a[f]?i.event.remove(r,f):i.removeEvent(r,f,e.handle);h[u]&&(delete h[u],l?delete r[s]:typeof r.removeAttribute!==o?r.removeAttribute(s):r[s]=null,b.push(u))}},_evalUrl:function(n){return i.ajax({url:n,type:"GET",dataType:"script",async:!1,global:!1,throws:!0})}});i.fn.extend({wrapAll:function(n){if(i.isFunction(n))return this.each(function(t){i(this).wrapAll(n.call(this,t))});if(this[0]){var t=i(n,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]);t.map(function(){for(var n=this;n.firstChild&&1===n.firstChild.nodeType;)n=n.firstChild;return n}).append(this)}return this},wrapInner:function(n){return i.isFunction(n)?this.each(function(t){i(this).wrapInner(n.call(this,t))}):this.each(function(){var t=i(this),r=t.contents();r.length?r.wrapAll(n):t.append(n)})},wrap:function(n){var t=i.isFunction(n);return this.each(function(r){i(this).wrapAll(t?n.call(this,r):n)})},unwrap:function(){return this.parent().each(function(){i.nodeName(this,"body")||i(this).replaceWith(this.childNodes)}).end()}});var rt,v,y,ci=/alpha\([^)]*\)/i,de=/opacity\s*=\s*([^)]*)/,ge=/^(top|right|bottom|left)$/,no=/^(none|table(?!-c[ea]).+)/,ru=/^margin/,to=RegExp("^("+st+")(.*)$","i"),lt=RegExp("^("+st+")(?!px)[a-z%]+$","i"),io=RegExp("^([+-])=("+st+")","i"),uu={BODY:"block"},ro={position:"absolute",visibility:"hidden",display:"block"},fu={letterSpacing:0,fontWeight:400},p=["Top","Right","Bottom","Left"],eu=["Webkit","O","Moz","ms"];i.fn.extend({css:function(n,r){return i.access(this,function(n,r,u){var e,o,s={},f=0;if(i.isArray(r)){for(o=v(n),e=r.length;e>f;f++)s[r[f]]=i.css(n,r[f],!1,o);return s}return u!==t?i.style(n,r,u):i.css(n,r)},n,r,arguments.length>1)},show:function(){return su(this,!0)},hide:function(){return su(this)},toggle:function(n){return"boolean"==typeof n?n?this.show():this.hide():this.each(function(){ut(this)?i(this).show():i(this).hide()})}});i.extend({cssHooks:{opacity:{get:function(n,t){if(t){var i=y(n,"opacity");return""===i?"1":i}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:i.support.cssFloat?"cssFloat":"styleFloat"},style:function(n,r,u,f){if(n&&3!==n.nodeType&&8!==n.nodeType&&n.style){var o,s,e,h=i.camelCase(r),c=n.style;if(r=i.cssProps[h]||(i.cssProps[h]=ou(c,h)),e=i.cssHooks[r]||i.cssHooks[h],u===t)return e&&"get"in e&&(o=e.get(n,!1,f))!==t?o:c[r];if(s=typeof u,"string"===s&&(o=io.exec(u))&&(u=(o[1]+1)*o[2]+parseFloat(i.css(n,r)),s="number"),!(null==u||"number"===s&&isNaN(u)||("number"!==s||i.cssNumber[h]||(u+="px"),i.support.clearCloneStyle||""!==u||0!==r.indexOf("background")||(c[r]="inherit"),e&&"set"in e&&(u=e.set(n,u,f))===t)))try{c[r]=u}catch(l){}}},css:function(n,r,u,f){var h,e,o,s=i.camelCase(r);return r=i.cssProps[s]||(i.cssProps[s]=ou(n.style,s)),o=i.cssHooks[r]||i.cssHooks[s],o&&"get"in o&&(e=o.get(n,!0,u)),e===t&&(e=y(n,r,f)),"normal"===e&&r in fu&&(e=fu[r]),""===u||u?(h=parseFloat(e),u===!0||i.isNumeric(h)?h||0:e):e}});n.getComputedStyle?(v=function(t){return n.getComputedStyle(t,null)},y=function(n,r,u){var s,h,c,o=u||v(n),e=o?o.getPropertyValue(r)||o[r]:t,f=n.style;return o&&(""!==e||i.contains(n.ownerDocument,n)||(e=i.style(n,r)),lt.test(e)&&ru.test(r)&&(s=f.width,h=f.minWidth,c=f.maxWidth,f.minWidth=f.maxWidth=f.width=e,e=o.width,f.width=s,f.minWidth=h,f.maxWidth=c)),e}):r.documentElement.currentStyle&&(v=function(n){return n.currentStyle},y=function(n,i,r){var s,e,o,h=r||v(n),u=h?h[i]:t,f=n.style;return null==u&&f&&f[i]&&(u=f[i]),lt.test(u)&&!ge.test(i)&&(s=f.left,e=n.runtimeStyle,o=e&&e.left,o&&(e.left=n.currentStyle.left),f.left="fontSize"===i?"1em":u,u=f.pixelLeft+"px",f.left=s,o&&(e.left=o)),""===u?"auto":u});i.each(["height","width"],function(n,r){i.cssHooks[r]={get:function(n,u,f){return u?0===n.offsetWidth&&no.test(i.css(n,"display"))?i.swap(n,ro,function(){return lu(n,r,f)}):lu(n,r,f):t},set:function(n,t,u){var f=u&&v(n);return hu(n,t,u?cu(n,r,u,i.support.boxSizing&&"border-box"===i.css(n,"boxSizing",!1,f),f):0)}}});i.support.opacity||(i.cssHooks.opacity={get:function(n,t){return de.test((t&&n.currentStyle?n.currentStyle.filter:n.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(n,t){var r=n.style,u=n.currentStyle,e=i.isNumeric(t)?"alpha(opacity="+100*t+")":"",f=u&&u.filter||r.filter||"";r.zoom=1;(t>=1||""===t)&&""===i.trim(f.replace(ci,""))&&r.removeAttribute&&(r.removeAttribute("filter"),""===t||u&&!u.filter)||(r.filter=ci.test(f)?f.replace(ci,e):f+" "+e)}});i(function(){i.support.reliableMarginRight||(i.cssHooks.marginRight={get:function(n,r){return r?i.swap(n,{display:"inline-block"},y,[n,"marginRight"]):t}});!i.support.pixelPosition&&i.fn.position&&i.each(["top","left"],function(n,r){i.cssHooks[r]={get:function(n,u){return u?(u=y(n,r),lt.test(u)?i(n).position()[r]+"px":u):t}}})});i.expr&&i.expr.filters&&(i.expr.filters.hidden=function(n){return 0>=n.offsetWidth&&0>=n.offsetHeight||!i.support.reliableHiddenOffsets&&"none"===(n.style&&n.style.display||i.css(n,"display"))},i.expr.filters.visible=function(n){return!i.expr.filters.hidden(n)});i.each({margin:"",padding:"",border:"Width"},function(n,t){i.cssHooks[n+t]={expand:function(i){for(var r=0,f={},u="string"==typeof i?i.split(" "):[i];4>r;r++)f[n+p[r]+t]=u[r]||u[r-2]||u[0];return f}};ru.test(n)||(i.cssHooks[n+t].set=hu)});var uo=/%20/g,fo=/\[\]$/,yu=/\r?\n/g,eo=/^(?:submit|button|image|reset|file)$/i,oo=/^(?:input|select|textarea|keygen)/i;i.fn.extend({serialize:function(){return i.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var n=i.prop(this,"elements");return n?i.makeArray(n):this}).filter(function(){var n=this.type;return this.name&&!i(this).is(":disabled")&&oo.test(this.nodeName)&&!eo.test(n)&&(this.checked||!oi.test(n))}).map(function(n,t){var r=i(this).val();return null==r?null:i.isArray(r)?i.map(r,function(n){return{name:t.name,value:n.replace(yu,"\r\n")}}):{name:t.name,value:r.replace(yu,"\r\n")}}).get()}});i.param=function(n,r){var u,f=[],e=function(n,t){t=i.isFunction(t)?t():null==t?"":t;f[f.length]=encodeURIComponent(n)+"="+encodeURIComponent(t)};if(r===t&&(r=i.ajaxSettings&&i.ajaxSettings.traditional),i.isArray(n)||n.jquery&&!i.isPlainObject(n))i.each(n,function(){e(this.name,this.value)});else for(u in n)li(u,n[u],r,e);return f.join("&").replace(uo,"+")};i.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(n,t){i.fn[t]=function(n,i){return arguments.length>0?this.on(t,null,n,i):this.trigger(t)}});i.fn.extend({hover:function(n,t){return this.mouseenter(n).mouseleave(t||n)},bind:function(n,t,i){return this.on(n,null,t,i)},unbind:function(n,t){return this.off(n,null,t)},delegate:function(n,t,i,r){return this.on(t,n,i,r)},undelegate:function(n,t,i){return 1===arguments.length?this.off(n,"**"):this.off(t,n||"**",i)}});var w,c,ai=i.now(),vi=/\?/,so=/#.*$/,pu=/([?&])_=[^&]*/,ho=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,co=/^(?:GET|HEAD)$/,lo=/^\/\//,wu=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,bu=i.fn.load,ku={},yi={},du="*/".concat("*");try{c=hf.href}catch(go){c=r.createElement("a");c.href="";c=c.href}w=wu.exec(c.toLowerCase())||[];i.fn.load=function(n,r,u){if("string"!=typeof n&&bu)return bu.apply(this,arguments);var f,s,h,e=this,o=n.indexOf(" ");return o>=0&&(f=n.slice(o,n.length),n=n.slice(0,o)),i.isFunction(r)?(u=r,r=t):r&&"object"==typeof r&&(h="POST"),e.length>0&&i.ajax({url:n,type:h,dataType:"html",data:r}).done(function(n){s=arguments;e.html(f?i("<div>").append(i.parseHTML(n)).find(f):n)}).complete(u&&function(n,t){e.each(u,s||[n.responseText,t,n])}),this};i.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(n,t){i.fn[t]=function(n){return this.on(t,n)}});i.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:c,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(w[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":du,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":i.parseJSON,"text xml":i.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(n,t){return t?pi(pi(n,i.ajaxSettings),t):pi(i.ajaxSettings,n)},ajaxPrefilter:gu(ku),ajaxTransport:gu(yi),ajax:function(n,r){function k(n,r,s,c){var a,rt,k,p,w,l=r;2!==o&&(o=2,g&&clearTimeout(g),y=t,d=c||"",f.readyState=n>0?4:0,a=n>=200&&300>n||304===n,s&&(p=ao(u,f,s)),p=vo(u,p,f,a),a?(u.ifModified&&(w=f.getResponseHeader("Last-Modified"),w&&(i.lastModified[e]=w),w=f.getResponseHeader("etag"),w&&(i.etag[e]=w)),204===n||"HEAD"===u.type?l="nocontent":304===n?l="notmodified":(l=p.state,rt=p.data,k=p.error,a=!k)):(k=l,(n||!l)&&(l="error",0>n&&(n=0))),f.status=n,f.statusText=(r||l)+"",a?tt.resolveWith(h,[rt,l,f]):tt.rejectWith(h,[f,l,k]),f.statusCode(b),b=t,v&&nt.trigger(a?"ajaxSuccess":"ajaxError",[f,u,a?rt:k]),it.fireWith(h,[f,l]),v&&(nt.trigger("ajaxComplete",[f,u]),--i.active||i.event.trigger("ajaxStop")))}"object"==typeof n&&(r=n,n=t);r=r||{};var l,a,e,d,g,v,y,p,u=i.ajaxSetup({},r),h=u.context||u,nt=u.context&&(h.nodeType||h.jquery)?i(h):i.event,tt=i.Deferred(),it=i.Callbacks("once memory"),b=u.statusCode||{},rt={},ut={},o=0,ft="canceled",f={readyState:0,getResponseHeader:function(n){var t;if(2===o){if(!p)for(p={};t=ho.exec(d);)p[t[1].toLowerCase()]=t[2];t=p[n.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===o?d:null},setRequestHeader:function(n,t){var i=n.toLowerCase();return o||(n=ut[i]=ut[i]||n,rt[n]=t),this},overrideMimeType:function(n){return o||(u.mimeType=n),this},statusCode:function(n){var t;if(n)if(2>o)for(t in n)b[t]=[b[t],n[t]];else f.always(n[f.status]);return this},abort:function(n){var t=n||ft;return y&&y.abort(t),k(0,t),this}};if(tt.promise(f).complete=it.add,f.success=f.done,f.error=f.fail,u.url=((n||u.url||c)+"").replace(so,"").replace(lo,w[1]+"//"),u.type=r.method||r.type||u.method||u.type,u.dataTypes=i.trim(u.dataType||"*").toLowerCase().match(s)||[""],null==u.crossDomain&&(l=wu.exec(u.url.toLowerCase()),u.crossDomain=!(!l||l[1]===w[1]&&l[2]===w[2]&&(l[3]||("http:"===l[1]?"80":"443"))===(w[3]||("http:"===w[1]?"80":"443")))),u.data&&u.processData&&"string"!=typeof u.data&&(u.data=i.param(u.data,u.traditional)),nf(ku,u,r,f),2===o)return f;v=u.global;v&&0==i.active++&&i.event.trigger("ajaxStart");u.type=u.type.toUpperCase();u.hasContent=!co.test(u.type);e=u.url;u.hasContent||(u.data&&(e=u.url+=(vi.test(e)?"&":"?")+u.data,delete u.data),u.cache===!1&&(u.url=pu.test(e)?e.replace(pu,"$1_="+ai++):e+(vi.test(e)?"&":"?")+"_="+ai++));u.ifModified&&(i.lastModified[e]&&f.setRequestHeader("If-Modified-Since",i.lastModified[e]),i.etag[e]&&f.setRequestHeader("If-None-Match",i.etag[e]));(u.data&&u.hasContent&&u.contentType!==!1||r.contentType)&&f.setRequestHeader("Content-Type",u.contentType);f.setRequestHeader("Accept",u.dataTypes[0]&&u.accepts[u.dataTypes[0]]?u.accepts[u.dataTypes[0]]+("*"!==u.dataTypes[0]?", "+du+"; q=0.01":""):u.accepts["*"]);for(a in u.headers)f.setRequestHeader(a,u.headers[a]);if(u.beforeSend&&(u.beforeSend.call(h,f,u)===!1||2===o))return f.abort();ft="abort";for(a in{success:1,error:1,complete:1})f[a](u[a]);if(y=nf(yi,u,r,f)){f.readyState=1;v&&nt.trigger("ajaxSend",[f,u]);u.async&&u.timeout>0&&(g=setTimeout(function(){f.abort("timeout")},u.timeout));try{o=1;y.send(rt,k)}catch(et){if(!(2>o))throw et;k(-1,et)}}else k(-1,"No Transport");return f},getJSON:function(n,t,r){return i.get(n,t,r,"json")},getScript:function(n,r){return i.get(n,t,r,"script")}});i.each(["get","post"],function(n,r){i[r]=function(n,u,f,e){return i.isFunction(u)&&(e=e||f,f=u,u=t),i.ajax({url:n,type:r,dataType:e,data:u,success:f})}});i.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(n){return i.globalEval(n),n}}});i.ajaxPrefilter("script",function(n){n.cache===t&&(n.cache=!1);n.crossDomain&&(n.type="GET",n.global=!1)});i.ajaxTransport("script",function(n){if(n.crossDomain){var u,f=r.head||i("head")[0]||r.documentElement;return{send:function(t,i){u=r.createElement("script");u.async=!0;n.scriptCharset&&(u.charset=n.scriptCharset);u.src=n.url;u.onload=u.onreadystatechange=function(n,t){(t||!u.readyState||/loaded|complete/.test(u.readyState))&&(u.onload=u.onreadystatechange=null,u.parentNode&&u.parentNode.removeChild(u),u=null,t||i(200,"success"))};f.insertBefore(u,f.firstChild)},abort:function(){u&&u.onload(t,!0)}}}});wi=[];at=/(=)\?(?=&|$)|\?\?/;i.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var n=wi.pop()||i.expando+"_"+ai++;return this[n]=!0,n}});i.ajaxPrefilter("json jsonp",function(r,u,f){var e,s,o,h=r.jsonp!==!1&&(at.test(r.url)?"url":"string"==typeof r.data&&!(r.contentType||"").indexOf("application/x-www-form-urlencoded")&&at.test(r.data)&&"data");return h||"jsonp"===r.dataTypes[0]?(e=r.jsonpCallback=i.isFunction(r.jsonpCallback)?r.jsonpCallback():r.jsonpCallback,h?r[h]=r[h].replace(at,"$1"+e):r.jsonp!==!1&&(r.url+=(vi.test(r.url)?"&":"?")+r.jsonp+"="+e),r.converters["script json"]=function(){return o||i.error(e+" was not called"),o[0]},r.dataTypes[0]="json",s=n[e],n[e]=function(){o=arguments},f.always(function(){n[e]=s;r[e]&&(r.jsonpCallback=u.jsonpCallback,wi.push(e));o&&i.isFunction(s)&&s(o[0]);o=s=t}),"script"):t});tf=0;vt=n.ActiveXObject&&function(){var n;for(n in nt)nt[n](t,!0)};i.ajaxSettings.xhr=n.ActiveXObject?function(){return!this.isLocal&&rf()||yo()}:rf;tt=i.ajaxSettings.xhr();i.support.cors=!!tt&&"withCredentials"in tt;tt=i.support.ajax=!!tt;tt&&i.ajaxTransport(function(r){if(!r.crossDomain||i.support.cors){var u;return{send:function(f,e){var h,s,o=r.xhr();if(r.username?o.open(r.type,r.url,r.async,r.username,r.password):o.open(r.type,r.url,r.async),r.xhrFields)for(s in r.xhrFields)o[s]=r.xhrFields[s];r.mimeType&&o.overrideMimeType&&o.overrideMimeType(r.mimeType);r.crossDomain||f["X-Requested-With"]||(f["X-Requested-With"]="XMLHttpRequest");try{for(s in f)o.setRequestHeader(s,f[s])}catch(c){}o.send(r.hasContent&&r.data||null);u=function(n,f){var s,a,l,c;try{if(u&&(f||4===o.readyState))if(u=t,h&&(o.onreadystatechange=i.noop,vt&&delete nt[h]),f)4!==o.readyState&&o.abort();else{c={};s=o.status;a=o.getAllResponseHeaders();"string"==typeof o.responseText&&(c.text=o.responseText);try{l=o.statusText}catch(y){l=""}s||!r.isLocal||r.crossDomain?1223===s&&(s=204):s=c.text?200:404}}catch(v){f||e(-1,v)}c&&e(s,l,c,a)};r.async?4===o.readyState?setTimeout(u):(h=++tf,vt&&(nt||(nt={},i(n).unload(vt)),nt[h]=u),o.onreadystatechange=u):u()},abort:function(){u&&u(t,!0)}}}});var it,yt,po=/^(?:toggle|show|hide)$/,uf=RegExp("^(?:([+-])=|)("+st+")([a-z%]*)$","i"),wo=/queueHooks$/,pt=[ko],ft={"*":[function(n,t){var f=this.createTween(n,t),s=f.cur(),r=uf.exec(t),e=r&&r[3]||(i.cssNumber[n]?"":"px"),u=(i.cssNumber[n]||"px"!==e&&+s)&&uf.exec(i.css(f.elem,n)),o=1,h=20;if(u&&u[3]!==e){e=e||u[3];r=r||[];u=+s||1;do o=o||".5",u/=o,i.style(f.elem,n,u+e);while(o!==(o=f.cur()/s)&&1!==o&&--h)}return r&&(u=f.start=+u||+s||0,f.unit=e,f.end=r[1]?u+(r[1]+1)*r[2]:+r[2]),f}]};i.Animation=i.extend(of,{tweener:function(n,t){i.isFunction(n)?(t=n,n=["*"]):n=n.split(" ");for(var r,u=0,f=n.length;f>u;u++)r=n[u],ft[r]=ft[r]||[],ft[r].unshift(t)},prefilter:function(n,t){t?pt.unshift(n):pt.push(n)}});i.Tween=f;f.prototype={constructor:f,init:function(n,t,r,u,f,e){this.elem=n;this.prop=r;this.easing=f||"swing";this.options=t;this.start=this.now=this.cur();this.end=u;this.unit=e||(i.cssNumber[r]?"":"px")},cur:function(){var n=f.propHooks[this.prop];return n&&n.get?n.get(this):f.propHooks._default.get(this)},run:function(n){var r,t=f.propHooks[this.prop];return this.pos=r=this.options.duration?i.easing[this.easing](n,this.options.duration*n,0,1,this.options.duration):n,this.now=(this.end-this.start)*r+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),t&&t.set?t.set(this):f.propHooks._default.set(this),this}};f.prototype.init.prototype=f.prototype;f.propHooks={_default:{get:function(n){var t;return null==n.elem[n.prop]||n.elem.style&&null!=n.elem.style[n.prop]?(t=i.css(n.elem,n.prop,""),t&&"auto"!==t?t:0):n.elem[n.prop]},set:function(n){i.fx.step[n.prop]?i.fx.step[n.prop](n):n.elem.style&&(null!=n.elem.style[i.cssProps[n.prop]]||i.cssHooks[n.prop])?i.style(n.elem,n.prop,n.now+n.unit):n.elem[n.prop]=n.now}}};f.propHooks.scrollTop=f.propHooks.scrollLeft={set:function(n){n.elem.nodeType&&n.elem.parentNode&&(n.elem[n.prop]=n.now)}};i.each(["toggle","show","hide"],function(n,t){var r=i.fn[t];i.fn[t]=function(n,i,u){return null==n||"boolean"==typeof n?r.apply(this,arguments):this.animate(wt(t,!0),n,i,u)}});i.fn.extend({fadeTo:function(n,t,i,r){return this.filter(ut).css("opacity",0).show().end().animate({opacity:t},n,i,r)},animate:function(n,t,r,u){var o=i.isEmptyObject(n),e=i.speed(t,r,u),f=function(){var t=of(this,i.extend({},n),e);(o||i._data(this,"finish"))&&t.stop(!0)};return f.finish=f,o||e.queue===!1?this.each(f):this.queue(e.queue,f)},stop:function(n,r,u){var f=function(n){var t=n.stop;delete n.stop;t(u)};return"string"!=typeof n&&(u=r,r=n,n=t),r&&n!==!1&&this.queue(n||"fx",[]),this.each(function(){var o=!0,t=null!=n&&n+"queueHooks",e=i.timers,r=i._data(this);if(t)r[t]&&r[t].stop&&f(r[t]);else for(t in r)r[t]&&r[t].stop&&wo.test(t)&&f(r[t]);for(t=e.length;t--;)e[t].elem!==this||null!=n&&e[t].queue!==n||(e[t].anim.stop(u),o=!1,e.splice(t,1));(o||!u)&&i.dequeue(this,n)})},finish:function(n){return n!==!1&&(n=n||"fx"),this.each(function(){var t,f=i._data(this),r=f[n+"queue"],e=f[n+"queueHooks"],u=i.timers,o=r?r.length:0;for(f.finish=!0,i.queue(this,n,[]),e&&e.stop&&e.stop.call(this,!0),t=u.length;t--;)u[t].elem===this&&u[t].queue===n&&(u[t].anim.stop(!0),u.splice(t,1));for(t=0;o>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete f.finish})}});i.each({slideDown:wt("show"),slideUp:wt("hide"),slideToggle:wt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(n,t){i.fn[n]=function(n,i,r){return this.animate(t,n,i,r)}});i.speed=function(n,t,r){var u=n&&"object"==typeof n?i.extend({},n):{complete:r||!r&&t||i.isFunction(n)&&n,duration:n,easing:r&&t||t&&!i.isFunction(t)&&t};return u.duration=i.fx.off?0:"number"==typeof u.duration?u.duration:u.duration in i.fx.speeds?i.fx.speeds[u.duration]:i.fx.speeds._default,(null==u.queue||u.queue===!0)&&(u.queue="fx"),u.old=u.complete,u.complete=function(){i.isFunction(u.old)&&u.old.call(this);u.queue&&i.dequeue(this,u.queue)},u};i.easing={linear:function(n){return n},swing:function(n){return.5-Math.cos(n*Math.PI)/2}};i.timers=[];i.fx=f.prototype.init;i.fx.tick=function(){var u,n=i.timers,r=0;for(it=i.now();n.length>r;r++)u=n[r],u()||n[r]!==u||n.splice(r--,1);n.length||i.fx.stop();it=t};i.fx.timer=function(n){n()&&i.timers.push(n)&&i.fx.start()};i.fx.interval=13;i.fx.start=function(){yt||(yt=setInterval(i.fx.tick,i.fx.interval))};i.fx.stop=function(){clearInterval(yt);yt=null};i.fx.speeds={slow:600,fast:200,_default:400};i.fx.step={};i.expr&&i.expr.filters&&(i.expr.filters.animated=function(n){return i.grep(i.timers,function(t){return n===t.elem}).length});i.fn.offset=function(n){if(arguments.length)return n===t?this:this.each(function(t){i.offset.setOffset(this,n,t)});var r,e,f={top:0,left:0},u=this[0],s=u&&u.ownerDocument;if(s)return r=s.documentElement,i.contains(r,u)?(typeof u.getBoundingClientRect!==o&&(f=u.getBoundingClientRect()),e=sf(s),{top:f.top+(e.pageYOffset||r.scrollTop)-(r.clientTop||0),left:f.left+(e.pageXOffset||r.scrollLeft)-(r.clientLeft||0)}):f};i.offset={setOffset:function(n,t,r){var f=i.css(n,"position");"static"===f&&(n.style.position="relative");var e=i(n),o=e.offset(),l=i.css(n,"top"),a=i.css(n,"left"),v=("absolute"===f||"fixed"===f)&&i.inArray("auto",[l,a])>-1,u={},s={},h,c;v?(s=e.position(),h=s.top,c=s.left):(h=parseFloat(l)||0,c=parseFloat(a)||0);i.isFunction(t)&&(t=t.call(n,r,o));null!=t.top&&(u.top=t.top-o.top+h);null!=t.left&&(u.left=t.left-o.left+c);"using"in t?t.using.call(n,u):e.css(u)}};i.fn.extend({position:function(){if(this[0]){var n,r,t={top:0,left:0},u=this[0];return"fixed"===i.css(u,"position")?r=u.getBoundingClientRect():(n=this.offsetParent(),r=this.offset(),i.nodeName(n[0],"html")||(t=n.offset()),t.top+=i.css(n[0],"borderTopWidth",!0),t.left+=i.css(n[0],"borderLeftWidth",!0)),{top:r.top-t.top-i.css(u,"marginTop",!0),left:r.left-t.left-i.css(u,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var n=this.offsetParent||ki;n&&!i.nodeName(n,"html")&&"static"===i.css(n,"position");)n=n.offsetParent;return n||ki})}});i.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(n,r){var u=/Y/.test(r);i.fn[n]=function(f){return i.access(this,function(n,f,e){var o=sf(n);return e===t?o?r in o?o[r]:o.document.documentElement[f]:n[f]:(o?o.scrollTo(u?i(o).scrollLeft():e,u?e:i(o).scrollTop()):n[f]=e,t)},n,f,arguments.length,null)}});i.each({Height:"height",Width:"width"},function(n,r){i.each({padding:"inner"+n,content:r,"":"outer"+n},function(u,f){i.fn[f]=function(f,e){var o=arguments.length&&(u||"boolean"!=typeof f),s=u||(f===!0||e===!0?"margin":"border");return i.access(this,function(r,u,f){var e;return i.isWindow(r)?r.document.documentElement["client"+n]:9===r.nodeType?(e=r.documentElement,Math.max(r.body["scroll"+n],e["scroll"+n],r.body["offset"+n],e["offset"+n],e["client"+n])):f===t?i.css(r,u,s):i.style(r,u,f,s)},r,o?f:t,o,null)}})});i.fn.size=function(){return this.length};i.fn.andSelf=i.fn.addBack;"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=i:(n.jQuery=n.$=i,"function"==typeof define&&define.amd&&define("jquery",[],function(){return i}))})(window),function(n){if(typeof define=="function"&&define.amd)try{define(["jquery"],n)}catch(i){define([],n)}else if((typeof module=="undefined"?"undefined":_typeof(module))==="object"&&module.exports){var t;try{t=require("jquery")}catch(i){t=null}module.exports=n(t)}else window&&(window.Slider=n(window.jQuery))}(function(n){var t;return function(n){"use strict";function i(){}function r(n){function u(t){t.prototype.option||(t.prototype.option=function(t){n.isPlainObject(t)&&(this.options=n.extend(!0,this.options,t))})}function f(i,u){n.fn[i]=function(f){var c,s,l,a,e,h,o;if(typeof f=="string"){for(c=t.call(arguments,1),s=0,l=this.length;s<l;s++){if(a=this[s],e=n.data(a,i),!e){r("cannot call methods on "+i+" prior to initialization; attempted to call '"+f+"'");continue}if(!n.isFunction(e[f])||f.charAt(0)==="_"){r("no such method '"+f+"' for "+i+" instance");continue}if(h=e[f].apply(e,c),h!==undefined&&h!==e)return h}return this}return o=this.map(function(){var t=n.data(this,i);return t?(t.option(f),t._init()):(t=new u(this,f),n.data(this,i,t)),n(this)}),!o||o.length>1?o:o[0]}}if(n){var r=typeof console=="undefined"?i:function(n){console.error(n)};return n.bridget=function(n,t){u(t);f(n,t)},n.bridget}}var t=Array.prototype.slice;r(n)}(n),function(n){function f(t,i){function rt(n,t){var r="data-slider-"+t.replace(/_/g,"-"),i=n.getAttribute(r);try{return JSON.parse(i)}catch(u){return i}}var g,r,h,s,o,w,b,d,l,a,v,tt,it;for(this._state={value:null,enabled:null,offset:null,size:null,percentage:null,inDrag:!1,over:!1},typeof t=="string"?this.element=document.querySelector(t):t instanceof HTMLElement&&(this.element=t),i=i?i:{},g=Object.keys(this.defaultOptions),r=0;r<g.length;r++)h=g[r],s=i[h],s=typeof s!="undefined"?s:rt(this.element,h),s=s!==null?s:this.defaultOptions[h],this.options||(this.options={}),this.options[h]=s;this.options.orientation==="vertical"&&(this.options.tooltip_position==="top"||this.options.tooltip_position==="bottom")?this.options.tooltip_position="right":this.options.orientation==="horizontal"&&(this.options.tooltip_position==="left"||this.options.tooltip_position==="right")&&(this.options.tooltip_position="top");var ut=this.element.style.width,nt=!1,ft=this.element.parentNode,c,y,p,f,e;if(this.sliderElem)nt=!0;else{if(this.sliderElem=document.createElement("div"),this.sliderElem.className="slider",o=document.createElement("div"),o.className="slider-track",y=document.createElement("div"),y.className="slider-track-low",c=document.createElement("div"),c.className="slider-selection",p=document.createElement("div"),p.className="slider-track-high",f=document.createElement("div"),f.className="slider-handle min-slider-handle",f.setAttribute("role","slider"),f.setAttribute("aria-valuemin",this.options.min),f.setAttribute("aria-valuemax",this.options.max),e=document.createElement("div"),e.className="slider-handle max-slider-handle",e.setAttribute("role","slider"),e.setAttribute("aria-valuemin",this.options.min),e.setAttribute("aria-valuemax",this.options.max),o.appendChild(y),o.appendChild(c),o.appendChild(p),w=Array.isArray(this.options.labelledby),w&&this.options.labelledby[0]&&f.setAttribute("aria-labelledby",this.options.labelledby[0]),w&&this.options.labelledby[1]&&e.setAttribute("aria-labelledby",this.options.labelledby[1]),!w&&this.options.labelledby&&(f.setAttribute("aria-labelledby",this.options.labelledby),e.setAttribute("aria-labelledby",this.options.labelledby)),this.ticks=[],Array.isArray(this.options.ticks)&&this.options.ticks.length>0){for(r=0;r<this.options.ticks.length;r++)b=document.createElement("div"),b.className="slider-tick",this.ticks.push(b),o.appendChild(b);c.className+=" tick-slider-selection"}if(o.appendChild(f),o.appendChild(e),this.tickLabels=[],Array.isArray(this.options.ticks_labels)&&this.options.ticks_labels.length>0)for(this.tickLabelContainer=document.createElement("div"),this.tickLabelContainer.className="slider-tick-label-container",r=0;r<this.options.ticks_labels.length;r++){var k=document.createElement("div"),et=this.options.ticks_positions.length===0,ot=this.options.reversed&&et?this.options.ticks_labels.length-(r+1):r;k.className="slider-tick-label";k.innerHTML=this.options.ticks_labels[ot];this.tickLabels.push(k);this.tickLabelContainer.appendChild(k)}d=function(n){var i=document.createElement("div"),t;i.className="tooltip-arrow";t=document.createElement("div");t.className="tooltip-inner";n.appendChild(i);n.appendChild(t)};l=document.createElement("div");l.className="tooltip tooltip-main";l.setAttribute("role","presentation");d(l);a=document.createElement("div");a.className="tooltip tooltip-min";a.setAttribute("role","presentation");d(a);v=document.createElement("div");v.className="tooltip tooltip-max";v.setAttribute("role","presentation");d(v);this.sliderElem.appendChild(o);this.sliderElem.appendChild(l);this.sliderElem.appendChild(a);this.sliderElem.appendChild(v);this.tickLabelContainer&&this.sliderElem.appendChild(this.tickLabelContainer);ft.insertBefore(this.sliderElem,this.element);this.element.style.display="none"}if(n&&(this.$element=n(this.element),this.$sliderElem=n(this.sliderElem)),this.eventToCallbackMap={},this.sliderElem.id=this.options.id,this.touchCapable="ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch,this.touchX=0,this.touchY=0,this.tooltip=this.sliderElem.querySelector(".tooltip-main"),this.tooltipInner=this.tooltip.querySelector(".tooltip-inner"),this.tooltip_min=this.sliderElem.querySelector(".tooltip-min"),this.tooltipInner_min=this.tooltip_min.querySelector(".tooltip-inner"),this.tooltip_max=this.sliderElem.querySelector(".tooltip-max"),this.tooltipInner_max=this.tooltip_max.querySelector(".tooltip-inner"),u[this.options.scale]&&(this.options.scale=u[this.options.scale]),nt===!0&&(this._removeClass(this.sliderElem,"slider-horizontal"),this._removeClass(this.sliderElem,"slider-vertical"),this._removeClass(this.tooltip,"hide"),this._removeClass(this.tooltip_min,"hide"),this._removeClass(this.tooltip_max,"hide"),["left","top","width","height"].forEach(function(n){this._removeProperty(this.trackLow,n);this._removeProperty(this.trackSelection,n);this._removeProperty(this.trackHigh,n)},this),[this.handle1,this.handle2].forEach(function(n){this._removeProperty(n,"left");this._removeProperty(n,"top")},this),[this.tooltip,this.tooltip_min,this.tooltip_max].forEach(function(n){this._removeProperty(n,"left");this._removeProperty(n,"top");this._removeProperty(n,"margin-left");this._removeProperty(n,"margin-top");this._removeClass(n,"right");this._removeClass(n,"top")},this)),this.options.orientation==="vertical"?(this._addClass(this.sliderElem,"slider-vertical"),this.stylePos="top",this.mousePos="pageY",this.sizePos="offsetHeight"):(this._addClass(this.sliderElem,"slider-horizontal"),this.sliderElem.style.width=ut,this.options.orientation="horizontal",this.stylePos="left",this.mousePos="pageX",this.sizePos="offsetWidth"),this._setTooltipPosition(),Array.isArray(this.options.ticks)&&this.options.ticks.length>0&&(this.options.max=Math.max.apply(Math,this.options.ticks),this.options.min=Math.min.apply(Math,this.options.ticks)),Array.isArray(this.options.value)?(this.options.range=!0,this._state.value=this.options.value):this._state.value=this.options.range?[this.options.value,this.options.max]:this.options.value,this.trackLow=y||this.trackLow,this.trackSelection=c||this.trackSelection,this.trackHigh=p||this.trackHigh,this.options.selection==="none"&&(this._addClass(this.trackLow,"hide"),this._addClass(this.trackSelection,"hide"),this._addClass(this.trackHigh,"hide")),this.handle1=f||this.handle1,this.handle2=e||this.handle2,nt===!0)for(this._removeClass(this.handle1,"round triangle"),this._removeClass(this.handle2,"round triangle hide"),r=0;r<this.ticks.length;r++)this._removeClass(this.ticks[r],"round triangle hide");if(tt=["round","triangle","custom"],it=tt.indexOf(this.options.handle)!==-1,it)for(this._addClass(this.handle1,this.options.handle),this._addClass(this.handle2,this.options.handle),r=0;r<this.ticks.length;r++)this._addClass(this.ticks[r],this.options.handle);this._state.offset=this._offset(this.sliderElem);this._state.size=this.sliderElem[this.sizePos];this.setValue(this._state.value);this.handle1Keydown=this._keydown.bind(this,0);this.handle1.addEventListener("keydown",this.handle1Keydown,!1);this.handle2Keydown=this._keydown.bind(this,1);this.handle2.addEventListener("keydown",this.handle2Keydown,!1);this.mousedown=this._mousedown.bind(this);this.touchstart=this._touchstart.bind(this);this.touchmove=this._touchmove.bind(this);this.touchCapable&&(this.sliderElem.addEventListener("touchstart",this.touchstart,!1),this.sliderElem.addEventListener("touchmove",this.touchmove,!1));this.sliderElem.addEventListener("mousedown",this.mousedown,!1);this.resize=this._resize.bind(this);window.addEventListener("resize",this.resize,!1);this.options.tooltip==="hide"?(this._addClass(this.tooltip,"hide"),this._addClass(this.tooltip_min,"hide"),this._addClass(this.tooltip_max,"hide")):this.options.tooltip==="always"?(this._showTooltip(),this._alwaysShowTooltip=!0):(this.showTooltip=this._showTooltip.bind(this),this.hideTooltip=this._hideTooltip.bind(this),this.sliderElem.addEventListener("mouseenter",this.showTooltip,!1),this.sliderElem.addEventListener("mouseleave",this.hideTooltip,!1),this.handle1.addEventListener("focus",this.showTooltip,!1),this.handle1.addEventListener("blur",this.hideTooltip,!1),this.handle2.addEventListener("focus",this.showTooltip,!1),this.handle2.addEventListener("blur",this.hideTooltip,!1));this.options.enabled?this.enable():this.disable()}var r={formatInvalidInputErrorMsg:function(n){return"Invalid input value '"+n+"' passed in"},callingContextNotSliderInstance:"Calling context element does not have instance of Slider bound to it. Check your code to make sure the JQuery object returned from the call to the slider() initializer is calling the method"},u={linear:{toValue:function(n){var e=n/100*(this.options.max-this.options.min),o=!0,r,s,u,f,t,h,c,i;if(this.options.ticks_positions.length>0){for(f=0,t=1;t<this.options.ticks_positions.length;t++)if(n<=this.options.ticks_positions[t]){r=this.options.ticks[t-1];u=this.options.ticks_positions[t-1];s=this.options.ticks[t];f=this.options.ticks_positions[t];break}h=(n-u)/(f-u);e=r+h*(s-r);o=!1}return c=o?this.options.min:0,i=c+Math.round(e/this.options.step)*this.options.step,i<this.options.min?this.options.min:i>this.options.max?this.options.max:i},toPercentage:function(n){var i,f,r,u,t,e;if(this.options.max===this.options.min)return 0;if(this.options.ticks_positions.length>0){for(u=0,t=0;t<this.options.ticks.length;t++)if(n<=this.options.ticks[t]){i=t>0?this.options.ticks[t-1]:0;r=t>0?this.options.ticks_positions[t-1]:0;f=this.options.ticks[t];u=this.options.ticks_positions[t];break}if(t>0)return e=(n-i)/(f-i),r+e*(u-r)}return 100*(n-this.options.min)/(this.options.max-this.options.min)}},logarithmic:{toValue:function(n){var i=this.options.min===0?0:Math.log(this.options.min),r=Math.log(this.options.max),t=Math.exp(i+(r-i)*n/100);return t=this.options.min+Math.round((t-this.options.min)/this.options.step)*this.options.step,t<this.options.min?this.options.min:t>this.options.max?this.options.max:t},toPercentage:function(n){if(this.options.max===this.options.min)return 0;var i=Math.log(this.options.max),t=this.options.min===0?0:Math.log(this.options.min),r=n===0?0:Math.log(n);return 100*(r-t)/(i-t)}}},i;t=function(n,t){return f.call(this,n,t),this};t.prototype={_init:function(){},constructor:t,defaultOptions:{id:"",min:0,max:10,step:1,precision:0,orientation:"horizontal",value:5,range:!1,selection:"before",tooltip:"show",tooltip_split:!1,handle:"round",reversed:!1,enabled:!0,formatter:function(n){return Array.isArray(n)?n[0]+" : "+n[1]:n},natural_arrow_keys:!1,ticks:[],ticks_positions:[],ticks_labels:[],ticks_snap_bounds:0,scale:"linear",focus:!1,tooltip_position:null,labelledby:null},getElement:function(){return this.sliderElem},getValue:function(){return this.options.range?this._state.value:this._state.value[0]},setValue:function(n,t,i){var f,u,r;return n||(n=0),f=this.getValue(),this._state.value=this._validateInputValue(n),u=this._applyPrecision.bind(this),this.options.range?(this._state.value[0]=u(this._state.value[0]),this._state.value[1]=u(this._state.value[1]),this._state.value[0]=Math.max(this.options.min,Math.min(this.options.max,this._state.value[0])),this._state.value[1]=Math.max(this.options.min,Math.min(this.options.max,this._state.value[1]))):(this._state.value=u(this._state.value),this._state.value=[Math.max(this.options.min,Math.min(this.options.max,this._state.value))],this._addClass(this.handle2,"hide"),this._state.value[1]=this.options.selection==="after"?this.options.max:this.options.min),this._state.percentage=this.options.max>this.options.min?[this._toPercentage(this._state.value[0]),this._toPercentage(this._state.value[1]),this.options.step*100/(this.options.max-this.options.min)]:[0,0,100],this._layout(),r=this.options.range?this._state.value:this._state.value[0],this._setDataVal(r),t===!0&&this._trigger("slide",r),f!==r&&i===!0&&this._trigger("change",{oldValue:f,newValue:r}),this},destroy:function(){this._removeSliderEventHandlers();this.sliderElem.parentNode.removeChild(this.sliderElem);this.element.style.display="";this._cleanUpEventCallbacksMap();this.element.removeAttribute("data");n&&(this._unbindJQueryEventHandlers(),this.$element.removeData("slider"))},disable:function(){return this._state.enabled=!1,this.handle1.removeAttribute("tabindex"),this.handle2.removeAttribute("tabindex"),this._addClass(this.sliderElem,"slider-disabled"),this._trigger("slideDisabled"),this},enable:function(){return this._state.enabled=!0,this.handle1.setAttribute("tabindex",0),this.handle2.setAttribute("tabindex",0),this._removeClass(this.sliderElem,"slider-disabled"),this._trigger("slideEnabled"),this},toggle:function(){return this._state.enabled?this.disable():this.enable(),this},isEnabled:function(){return this._state.enabled},on:function(n,t){return this._bindNonQueryEventHandler(n,t),this},off:function(t,i){n?(this.$element.off(t,i),this.$sliderElem.off(t,i)):this._unbindNonQueryEventHandler(t,i)},getAttribute:function(n){return n?this.options[n]:this.options},setAttribute:function(n,t){return this.options[n]=t,this},refresh:function(){return this._removeSliderEventHandlers(),f.call(this,this.element,this.options),n&&n.data(this.element,"slider",this),this},relayout:function(){return this._resize(),this._layout(),this},_removeSliderEventHandlers:function(){this.handle1.removeEventListener("keydown",this.handle1Keydown,!1);this.handle2.removeEventListener("keydown",this.handle2Keydown,!1);this.showTooltip&&(this.handle1.removeEventListener("focus",this.showTooltip,!1),this.handle2.removeEventListener("focus",this.showTooltip,!1));this.hideTooltip&&(this.handle1.removeEventListener("blur",this.hideTooltip,!1),this.handle2.removeEventListener("blur",this.hideTooltip,!1));this.showTooltip&&this.sliderElem.removeEventListener("mouseenter",this.showTooltip,!1);this.hideTooltip&&this.sliderElem.removeEventListener("mouseleave",this.hideTooltip,!1);this.sliderElem.removeEventListener("touchstart",this.touchstart,!1);this.sliderElem.removeEventListener("touchmove",this.touchmove,!1);this.sliderElem.removeEventListener("mousedown",this.mousedown,!1);window.removeEventListener("resize",this.resize,!1)},_bindNonQueryEventHandler:function(n,t){this.eventToCallbackMap[n]===undefined&&(this.eventToCallbackMap[n]=[]);this.eventToCallbackMap[n].push(t)},_unbindNonQueryEventHandler:function(n,t){var r=this.eventToCallbackMap[n],i;if(r!==undefined)for(i=0;i<r.length;i++)if(r[i]===t){r.splice(i,1);break}},_cleanUpEventCallbacksMap:function(){for(var t=Object.keys(this.eventToCallbackMap),i,n=0;n<t.length;n++)i=t[n],this.eventToCallbackMap[i]=null},_showTooltip:function(){this.options.tooltip_split===!1?(this._addClass(this.tooltip,"in"),this.tooltip_min.style.display="none",this.tooltip_max.style.display="none"):(this._addClass(this.tooltip_min,"in"),this._addClass(this.tooltip_max,"in"),this.tooltip.style.display="none");this._state.over=!0},_hideTooltip:function(){this._state.inDrag===!1&&this.alwaysShowTooltip!==!0&&(this._removeClass(this.tooltip,"in"),this._removeClass(this.tooltip_min,"in"),this._removeClass(this.tooltip_max,"in"));this._state.over=!1},_layout:function(){var n,r,t,i,u,h,c,e,o;if(n=this.options.reversed?[100-this._state.percentage[0],this.options.range?100-this._state.percentage[1]:this._state.percentage[1]]:[this._state.percentage[0],this._state.percentage[1]],this.handle1.style[this.stylePos]=n[0]+"%",this.handle1.setAttribute("aria-valuenow",this._state.value[0]),this.handle2.style[this.stylePos]=n[1]+"%",this.handle2.setAttribute("aria-valuenow",this._state.value[1]),Array.isArray(this.options.ticks)&&this.options.ticks.length>0){var l=this.options.orientation==="vertical"?"height":"width",s=this.options.orientation==="vertical"?"marginTop":"marginLeft",f=this._state.size/(this.options.ticks.length-1);if(this.tickLabelContainer){if(r=0,this.options.ticks_positions.length===0)this.options.orientation!=="vertical"&&(this.tickLabelContainer.style[s]=-f/2+"px"),r=this.tickLabelContainer.offsetHeight;else for(t=0;t<this.tickLabelContainer.childNodes.length;t++)this.tickLabelContainer.childNodes[t].offsetHeight>r&&(r=this.tickLabelContainer.childNodes[t].offsetHeight);this.options.orientation==="horizontal"&&(this.sliderElem.style.marginBottom=r+"px")}for(t=0;t<this.options.ticks.length;t++)i=this.options.ticks_positions[t]||this._toPercentage(this.options.ticks[t]),this.options.reversed&&(i=100-i),this.ticks[t].style[this.stylePos]=i+"%",this._removeClass(this.ticks[t],"in-selection"),this.options.range?i>=n[0]&&i<=n[1]&&this._addClass(this.ticks[t],"in-selection"):this.options.selection==="after"&&i>=n[0]?this._addClass(this.ticks[t],"in-selection"):this.options.selection==="before"&&i<=n[0]&&this._addClass(this.ticks[t],"in-selection"),this.tickLabels[t]&&(this.tickLabels[t].style[l]=f+"px",this.options.orientation!=="vertical"&&this.options.ticks_positions[t]!==undefined?(this.tickLabels[t].style.position="absolute",this.tickLabels[t].style[this.stylePos]=i+"%",this.tickLabels[t].style[s]=-f/2+"px"):this.options.orientation==="vertical"&&(this.tickLabels[t].style.marginLeft=this.sliderElem.offsetWidth+"px",this.tickLabelContainer.style.marginTop=this.sliderElem.offsetWidth/-2+"px"))}this.options.range?(u=this.options.formatter(this._state.value),this._setText(this.tooltipInner,u),this.tooltip.style[this.stylePos]=(n[1]+n[0])/2+"%",this.options.orientation==="vertical"?this._css(this.tooltip,"margin-top",-this.tooltip.offsetHeight/2+"px"):this._css(this.tooltip,"margin-left",-this.tooltip.offsetWidth/2+"px"),this.options.orientation==="vertical"?this._css(this.tooltip,"margin-top",-this.tooltip.offsetHeight/2+"px"):this._css(this.tooltip,"margin-left",-this.tooltip.offsetWidth/2+"px"),h=this.options.formatter(this._state.value[0]),this._setText(this.tooltipInner_min,h),c=this.options.formatter(this._state.value[1]),this._setText(this.tooltipInner_max,c),this.tooltip_min.style[this.stylePos]=n[0]+"%",this.options.orientation==="vertical"?this._css(this.tooltip_min,"margin-top",-this.tooltip_min.offsetHeight/2+"px"):this._css(this.tooltip_min,"margin-left",-this.tooltip_min.offsetWidth/2+"px"),this.tooltip_max.style[this.stylePos]=n[1]+"%",this.options.orientation==="vertical"?this._css(this.tooltip_max,"margin-top",-this.tooltip_max.offsetHeight/2+"px"):this._css(this.tooltip_max,"margin-left",-this.tooltip_max.offsetWidth/2+"px")):(u=this.options.formatter(this._state.value[0]),this._setText(this.tooltipInner,u),this.tooltip.style[this.stylePos]=n[0]+"%",this.options.orientation==="vertical"?this._css(this.tooltip,"margin-top",-this.tooltip.offsetHeight/2+"px"):this._css(this.tooltip,"margin-left",-this.tooltip.offsetWidth/2+"px"));this.options.orientation==="vertical"?(this.trackLow.style.top="0",this.trackLow.style.height=Math.min(n[0],n[1])+"%",this.trackSelection.style.top=Math.min(n[0],n[1])+"%",this.trackSelection.style.height=Math.abs(n[0]-n[1])+"%",this.trackHigh.style.bottom="0",this.trackHigh.style.height=100-Math.min(n[0],n[1])-Math.abs(n[0]-n[1])+"%"):(this.trackLow.style.left="0",this.trackLow.style.width=Math.min(n[0],n[1])+"%",this.trackSelection.style.left=Math.min(n[0],n[1])+"%",this.trackSelection.style.width=Math.abs(n[0]-n[1])+"%",this.trackHigh.style.right="0",this.trackHigh.style.width=100-Math.min(n[0],n[1])-Math.abs(n[0]-n[1])+"%",e=this.tooltip_min.getBoundingClientRect(),o=this.tooltip_max.getBoundingClientRect(),this.options.tooltip_position==="bottom"?e.right>o.left?(this._removeClass(this.tooltip_max,"bottom"),this._addClass(this.tooltip_max,"top"),this.tooltip_max.style.top="",this.tooltip_max.style.bottom="22px"):(this._removeClass(this.tooltip_max,"top"),this._addClass(this.tooltip_max,"bottom"),this.tooltip_max.style.top=this.tooltip_min.style.top,this.tooltip_max.style.bottom=""):e.right>o.left?(this._removeClass(this.tooltip_max,"top"),this._addClass(this.tooltip_max,"bottom"),this.tooltip_max.style.top="18px"):(this._removeClass(this.tooltip_max,"bottom"),this._addClass(this.tooltip_max,"top"),this.tooltip_max.style.top=this.tooltip_min.style.top))},_resize:function(){this._state.offset=this._offset(this.sliderElem);this._state.size=this.sliderElem[this.sizePos];this._layout()},_removeProperty:function(n,t){n.style.removeProperty?n.style.removeProperty(t):n.style.removeAttribute(t)},_mousedown:function(n){var t,r,u,i;return this._state.enabled?(this._state.offset=this._offset(this.sliderElem),this._state.size=this.sliderElem[this.sizePos],t=this._getPercentage(n),this.options.range?(r=Math.abs(this._state.percentage[0]-t),u=Math.abs(this._state.percentage[1]-t),this._state.dragged=r<u?0:1,this._adjustPercentageForRangeSliders(t)):this._state.dragged=0,this._state.percentage[this._state.dragged]=t,this._layout(),this.touchCapable&&(document.removeEventListener("touchmove",this.mousemove,!1),document.removeEventListener("touchend",this.mouseup,!1)),this.mousemove&&document.removeEventListener("mousemove",this.mousemove,!1),this.mouseup&&document.removeEventListener("mouseup",this.mouseup,!1),this.mousemove=this._mousemove.bind(this),this.mouseup=this._mouseup.bind(this),this.touchCapable&&(document.addEventListener("touchmove",this.mousemove,!1),document.addEventListener("touchend",this.mouseup,!1)),document.addEventListener("mousemove",this.mousemove,!1),document.addEventListener("mouseup",this.mouseup,!1),this._state.inDrag=!0,i=this._calculateValue(),this._trigger("slideStart",i),this._setDataVal(i),this.setValue(i,!1,!0),this._pauseEvent(n),this.options.focus&&this._triggerFocusOnHandle(this._state.dragged),!0):!1},_touchstart:function(n){if(n.changedTouches===undefined){this._mousedown(n);return}var t=n.changedTouches[0];this.touchX=t.pageX;this.touchY=t.pageY},_triggerFocusOnHandle:function(n){n===0&&this.handle1.focus();n===1&&this.handle2.focus()},_keydown:function(n,t){var r,u,f,i;if(!this._state.enabled)return!1;switch(t.keyCode){case 37:case 40:r=-1;break;case 39:case 38:r=1}if(r)return this.options.natural_arrow_keys&&(u=this.options.orientation==="vertical"&&!this.options.reversed,f=this.options.orientation==="horizontal"&&this.options.reversed,(u||f)&&(r=-r)),i=this._state.value[n]+r*this.options.step,this.options.range&&(i=[n?this._state.value[0]:i,n?i:this._state.value[1]]),this._trigger("slideStart",i),this._setDataVal(i),this.setValue(i,!0,!0),this._setDataVal(i),this._trigger("slideStop",i),this._layout(),this._pauseEvent(t),!1},_pauseEvent:function(n){n.stopPropagation&&n.stopPropagation();n.preventDefault&&n.preventDefault();n.cancelBubble=!0;n.returnValue=!1},_mousemove:function(n){var t,i;return this._state.enabled?(t=this._getPercentage(n),this._adjustPercentageForRangeSliders(t),this._state.percentage[this._state.dragged]=t,this._layout(),i=this._calculateValue(!0),this.setValue(i,!0,!0),!1):!1},_touchmove:function(n){if(n.changedTouches!==undefined){var r=n.changedTouches[0],t=r.pageX-this.touchX,i=r.pageY-this.touchY;this._state.inDrag||(this.options.orientation==="vertical"&&t<=5&&t>=-5&&(i>=15||i<=-15)?this._mousedown(n):i<=5&&i>=-5&&(t>=15||t<=-15)&&this._mousedown(n))}},_adjustPercentageForRangeSliders:function(n){var t,i;this.options.range&&(t=this._getNumDigitsAfterDecimalPlace(n),t=t?t-1:0,i=this._applyToFixedAndParseFloat(n,t),this._state.dragged===0&&this._applyToFixedAndParseFloat(this._state.percentage[1],t)<i?(this._state.percentage[0]=this._state.percentage[1],this._state.dragged=1):this._state.dragged===1&&this._applyToFixedAndParseFloat(this._state.percentage[0],t)>i&&(this._state.percentage[1]=this._state.percentage[0],this._state.dragged=0))},_mouseup:function(){if(!this._state.enabled)return!1;this.touchCapable&&(document.removeEventListener("touchmove",this.mousemove,!1),document.removeEventListener("touchend",this.mouseup,!1));document.removeEventListener("mousemove",this.mousemove,!1);document.removeEventListener("mouseup",this.mouseup,!1);this._state.inDrag=!1;this._state.over===!1&&this._hideTooltip();var n=this._calculateValue(!0);return this._layout(),this._setDataVal(n),this._trigger("slideStop",n),!1},_calculateValue:function(n){var t,i,r,u;if(this.options.range?(t=[this.options.min,this.options.max],this._state.percentage[0]!==0&&(t[0]=this._toValue(this._state.percentage[0]),t[0]=this._applyPrecision(t[0])),this._state.percentage[1]!==100&&(t[1]=this._toValue(this._state.percentage[1]),t[1]=this._applyPrecision(t[1]))):(t=this._toValue(this._state.percentage[0]),t=parseFloat(t),t=this._applyPrecision(t)),n){for(i=[t,Infinity],r=0;r<this.options.ticks.length;r++)u=Math.abs(this.options.ticks[r]-t),u<=i[1]&&(i=[this.options.ticks[r],u]);if(i[1]<=this.options.ticks_snap_bounds)return i[0]}return t},_applyPrecision:function(n){var t=this.options.precision||this._getNumDigitsAfterDecimalPlace(this.options.step);return this._applyToFixedAndParseFloat(n,t)},_getNumDigitsAfterDecimalPlace:function(n){var t=(""+n).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return t?Math.max(0,(t[1]?t[1].length:0)-(t[2]?+t[2]:0)):0},_applyToFixedAndParseFloat:function(n,t){var i=n.toFixed(t);return parseFloat(i)},_getPercentage:function(n){this.touchCapable&&(n.type==="touchstart"||n.type==="touchmove")&&(n=n.touches[0]);var i=n[this.mousePos],r=this._state.offset[this.stylePos],u=i-r,t=u/this._state.size*100;return t=Math.round(t/this._state.percentage[2])*this._state.percentage[2],this.options.reversed&&(t=100-t),Math.max(0,Math.min(100,t))},_validateInputValue:function(n){if(typeof n=="number")return n;if(Array.isArray(n))return this._validateArray(n),n;throw new Error(r.formatInvalidInputErrorMsg(n));},_validateArray:function(n){for(var i,t=0;t<n.length;t++)if(i=n[t],typeof i!="number")throw new Error(r.formatInvalidInputErrorMsg(i));},_setDataVal:function(n){this.element.setAttribute("data-value",n);this.element.setAttribute("value",n);this.element.value=n},_trigger:function(t,i){var r,u,f;if(i=i||i===0?i:undefined,r=this.eventToCallbackMap[t],r&&r.length)for(u=0;u<r.length;u++)f=r[u],f(i);n&&this._triggerJQueryEvent(t,i)},_triggerJQueryEvent:function(n,t){var i={type:n,value:t};this.$element.trigger(i);this.$sliderElem.trigger(i)},_unbindJQueryEventHandlers:function(){this.$element.off();this.$sliderElem.off()},_setText:function(n,t){typeof n.textContent!="undefined"?n.textContent=t:typeof n.innerText!="undefined"&&(n.innerText=t)},_removeClass:function(n,t){for(var u=t.split(" "),r=n.className,f,e,i=0;i<u.length;i++)f=u[i],e=new RegExp("(?:\\s|^)"+f+"(?:\\s|$)"),r=r.replace(e," ");n.className=r.trim()},_addClass:function(n,t){for(var u=t.split(" "),r=n.className,i=0;i<u.length;i++){var f=u[i],e=new RegExp("(?:\\s|^)"+f+"(?:\\s|$)"),o=e.test(r);o||(r+=" "+f)}n.className=r.trim()},_offsetLeft:function(n){return n.getBoundingClientRect().left},_offsetTop:function(n){for(var t=n.offsetTop;(n=n.offsetParent)&&!isNaN(n.offsetTop);)t+=n.offsetTop,n.tagName!=="BODY"&&(t-=n.scrollTop);return t},_offset:function(n){return{left:this._offsetLeft(n),top:this._offsetTop(n)}},_css:function(t,i,r){if(n)n.style(t,i,r);else{var u=i.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(n,t){return t.toUpperCase()});t.style[u]=r}},_toValue:function(n){return this.options.scale.toValue.apply(this,[n])},_toPercentage:function(n){return this.options.scale.toPercentage.apply(this,[n])},_setTooltipPosition:function(){var n=[this.tooltip,this.tooltip_min,this.tooltip_max],t,i;this.options.orientation==="vertical"?(t=this.options.tooltip_position||"right",i=t==="left"?"right":"left",n.forEach(function(n){this._addClass(n,t);n.style[i]="100%"}.bind(this))):this.options.tooltip_position==="bottom"?n.forEach(function(n){this._addClass(n,"bottom");n.style.top="22px"}.bind(this)):n.forEach(function(n){this._addClass(n,"top");n.style.top=-this.tooltip.outerHeight-14+"px"}.bind(this))}};n&&(i=n.fn.slider?"bootstrapSlider":"slider",n.bridget(i,t),n(function(){n("input[data-provide=slider]")[i]()}))}(n),t});__extends=this&&this.__extends||function(){var n=function(t,i){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,t){n.__proto__=t}||function(n,t){for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i])},n(t,i)};return function(t,i){function r(){this.constructor=t}n(t,i);t.prototype=i===null?Object.create(i):(r.prototype=i.prototype,new r)}}();QuadKeyLayer=L.TileLayer.extend({tileUrl:"",constructor:function(n){this.tileUrl=n},getTileUrl:function(n){var t=this._getZoomForUrl(),i=this._quadKey(n.x,n.y,t);return this.tileUrl.toString().replace("{zoomdepth}",t.toString()).replace("{quadkey}",i)},_quadKey:function(n,t,i){for(var e=[],r,f,u=i;u>0;u--)r=0,f=1<<u-1,(n&f)!=0&&r++,(t&f)!=0&&(r++,r++),e.push(r);return e.join("")},getAttribution:function(){return"<a href='https://shoothill.com/'>Shoothill Ltd<\/a>"}});L.TileLayer.MBTiles=L.TileLayer.extend({mbTilesDB:null,initialize:function(n,t,i){this.mbTilesDB=i;L.Util.setOptions(this,t)},_loadTile:function(n,t){n._layer=this;n.onload=this._tileOnLoad;n.onerror=this._tileOnError;this._adjustTilePoint(t);var i=this._getZoomForUrl(),r=t.x,u=t.y,f="data:image/gif;base64,";this.mbTilesDB.transaction(function(t){t.executeSql("select * from tiles where zoom_level = ? and tile_column = ? and tile_row = ?;",[i,r,u],function(t,i){n.src=f+i.rows.item(0).tile_data;this.fire("tileloadstart",{tile:n,url:n.src})},function(n){console.log("error with executeSql: ",n.message)})})}}),function(n){var t;(function(t){var g,nt,tt,c,f,l,a,i,o,s,v,r,e,h,y,p,w,b,u,k,d;(function(n){n[n.HYBRID=0]="HYBRID";n[n.ROADMAP=1]="ROADMAP";n[n.SATELLITE=2]="SATELLITE";n[n.TERRAIN=3]="TERRAIN"})(g=t.MapTypeId||(t.MapTypeId={})),function(n){n[n.BOTTOM_CENTER=0]="BOTTOM_CENTER";n[n.BOTTOM_LEFT=1]="BOTTOM_LEFT";n[n.BOTTOM_RIGHT=2]="BOTTOM_RIGHT";n[n.LEFT_BOTTOM=3]="LEFT_BOTTOM";n[n.LEFT_CENTER=4]="LEFT_CENTER";n[n.LEFT_TOP=5]="LEFT_TOP";n[n.RIGHT_BOTTOM=6]="RIGHT_BOTTOM";n[n.RIGHT_CENTER=7]="RIGHT_CENTER";n[n.RIGHT_TOP=8]="RIGHT_TOP";n[n.TOP_CENTER=9]="TOP_CENTER";n[n.TOP_LEFT=10]="TOP_LEFT";n[n.TOP_RIGHT=11]="TOP_RIGHT"}(nt=t.ControlPosition||(t.ControlPosition={})),function(n){n[n.DEFAULT=0]="DEFAULT";n[n.DROPDOWN_MENU=1]="DROPDOWN_MENU";n[n.HORIZONTAL_BAR=2]="HORIZONTAL_BAR"}(tt=t.MapTypeControlStyle||(t.MapTypeControlStyle={}));c=function(){function n(){}return n}();t.GeocoderRequest=c,function(n){n[n.ERROR=0]="ERROR";n[n.INVALID_REQUEST=1]="INVALID_REQUEST";n[n.OK=2]="OK";n[n.OVER_QUERY_LIMIT=3]="OVER_QUERY_LIMIT";n[n.REQUEST_DENIED=4]="REQUEST_DENIED";n[n.UNKNOWN_ERROR=5]="UNKNOWN_ERROR";n[n.ZERO_RESULTS=6]="ZERO_RESULTS"}(f=t.GeocoderStatus||(t.GeocoderStatus={}));l=function(){function n(){}return n}();t.GeocoderResult=l;a=function(){function n(){}return n.prototype.geocode=function(n,t){if(n.address&&n.address!=""&&$.get("https://nominatim.openstreetmap.org/search?q="+n.address+"&format=json").done(function(n){if(n&&n.length>0){var i=n;t(i,f.OK)}else t([],f.ZERO_RESULTS)}),n.location&&n.location!=null){var i=n.location.lat(),r=n.location.lng();$.get("https://nominatim.openstreetmap.org/reverse?lat="+i+"&lon="+r+"&format=json").done(function(n){if(n){var i=[n];t(i,f.OK)}else t([],f.ZERO_RESULTS)})}},n}();t.Geocoder=a;i=function(){function n(){}return n.prototype.bindTo=function(){},n.prototype.changed=function(){},n.prototype.get=function(){},n.prototype.notify=function(){},n.prototype.set=function(){},n.prototype.setValues=function(){},n.prototype.unbind=function(){},n.prototype.unbindAll=function(){},n}();t.MVCObject=i;o=function(t){function i(){var n=t.call(this)||this;return n.map=null,n}return __extends(i,t),i.prototype.clear=function(){},i.prototype.forEach=function(){},i.prototype.getArray=function(){return[]},i.prototype.getAt=function(){return{}},i.prototype.getLength=function(){return 0},i.prototype.insertAt=function(t,i){i instanceof n.maps.ImageMapType&&this.map.addLayer(i.layer)},i.prototype.pop=function(){return{}},i.prototype.push=function(){return 0},i.prototype.removeAt=function(){return{}},i.prototype.setAt=function(){},i}(i);t.MVCArray=o;s=function(){function n(n){this.map=null;this.map=n}return n.prototype.fromLatLngToPoint=function(n){var t=this.map.latLngToContainerPoint(new L.LatLng(n.lat(),n.lng()));return new h(t.x,t.y)},n.prototype.fromPointToLatLng=function(){return new r(0,0)},n}();t.Projection=s;v=function(n){function t(t){var i=n.call(this)||this;return i.map=null,i.map=t.map,i}return __extends(t,n),t.prototype.getBounds=function(){return new e},t.prototype.getCenter=function(){return new r(0,0)},t.prototype.getRadius=function(){return 0},t.prototype.setCenter=function(){},t.prototype.setMap=function(){},t.prototype.setOptions=function(){},t.prototype.setRadius=function(){},t}(i);t.Circle=v;r=function(){function n(n,t){var i=this;this._lat=0;this._lng=0;this.lat=function(){return i._lat};this.lng=function(){return i._lng};this._lat=n;this._lng=t}return n.prototype.equals=function(){return!0},n.prototype.toString=function(){return""},n.prototype.toUrlValue=function(){return""},n}();t.LatLng=r;e=function(){function n(n,t){this.sw=null;this.ne=null;this.sw=n;this.ne=t}return n.prototype.contains=function(){return!0},n.prototype.equals=function(){return!0},n.prototype.extend=function(){return new n},n.prototype.getCenter=function(){return new r(0,0)},n.prototype.getNorthEast=function(){return this.ne},n.prototype.getSouthWest=function(){return this.sw},n.prototype.intersects=function(){return!0},n.prototype.isEmpty=function(){return!0},n.prototype.toSpan=function(){return new r(0,0)},n.prototype.toString=function(){return""},n.prototype.toUrlValue=function(){return""},n.prototype.union=function(){return new n},n}();t.LatLngBounds=e;h=function(){function n(n,t){this.x=0;this.y=0;this.x=n;this.y=t}return n.prototype.equals=function(){return!0},n.prototype.toString=function(){return""},n}();t.Point=h;y=function(n){function t(t){var i=n.call(this)||this;i.layer=null;var r=t.url.replace("{zoomdepth}/{quadkey}.png","{z}/{x}/{y}.pbf"),u={geojson:function(n){var t="#EF2222",i="#EF2222",r=!0,u;return n.severity&&(u=n.severity,u=="Alert"&&(t="#FF7410",i="#FF7410",r=!0)),{weight:1,fill:r,color:t,fillColor:i,fillOpacity:.7}}},f={rendererFactory:L.svg.tile,vectorTileLayerStyles:u,interactive:!0,attribution:"Shoothill Ltd",maxZoom:20,maxNativeZoom:13},e=L.vectorGrid.protobuf(r,f).on("mouseover",function(){});return i.layer=e,i}return __extends(t,n),t.prototype.getOpacity=function(){return 1},t.prototype.getTile=function(){return{}},t.prototype.releaseTile=function(){},t.prototype.setOpacity=function(){},t}(i);t.ImageMapType=y;p=function(){function n(n,t){this.width=0;this.height=0;this.widthUnit="px";this.heightUnit="px";this.width=n;this.height=t}return n.prototype.equals=function(){return!0},n.prototype.toString=function(){return""},n}();t.Size=p;w=function(n){function t(t){var i=n.call(this)||this,u,f;i.opacity=1;i.markerGroup=null;u=t.icon;f=null;f=L.icon({iconUrl:u,iconSize:[72,109],iconAnchor:[36,109]});t.position==null&&(t.position=new r(0,0));var o=new L.LatLng(t.position.lat(),t.position.lng()),e=new L.Marker(o,{riseOnHover:!0,draggable:t.draggable}),s=t.map;return i.Severity=t.Severity,i.markerGroup===null&&(i.markerGroup=L.layerGroup().addTo(s)),e.addTo(i.markerGroup),i.marker=e,i}return __extends(t,n),t.prototype.addListener=function(n,t){this.marker.on(n,t);return new u},t.prototype.getOpacity=function(){return this.opacity},t.prototype.getPosition=function(){return new r(this.marker.getLatLng().lat,this.marker.getLatLng().lng)},t.prototype.getVisible=function(){return!0},t.prototype.setMap=function(){this.markerGroup.clearLayers()},t.prototype.setOpacity=function(n){this.marker.setOpacity(n);this.opacity=n},t.prototype.setOptions=function(){},t.prototype.setPosition=function(n){this.marker.setLatLng(new L.LatLng(n.lat(),n.lng()))},t.prototype.setVisible=function(){},t}(i);t.Marker=w;b=function(t){function i(n,i){var r=t.call(this)||this;return r.map=null,r.overlayMapTypes=new o,r.map=new L.Map(n.id,{center:new L.LatLng(i.center.lat(),i.center.lng()),zoom:i.zoom,zoomControl:!1}),L.tileLayer("http://{s}.tile.osm.org/{z}/{x}/{y}.png",{attribution:'&copy; <a href="http://osm.org/copyright">OpenStreetMap<\/a> contributors'}).addTo(r.map),L.control.scale({position:"bottomright"}).addTo(r.map),r.overlayMapTypes.map=r.map,r}return __extends(i,t),i.prototype.getLeafletMap=function(){return this.map},i.prototype.addListener=function(n,t){return this.map.addEventListener(n,t),new u},i.prototype.fitBounds=function(){},i.prototype.getBounds=function(){var t=this.map.getBounds(),i=new n.maps.LatLng(t.getSouthWest().lat,t.getSouthWest().lng),r=new n.maps.LatLng(t.getNorthEast().lat,t.getNorthEast().lng);return new e(i,r)},i.prototype.getCenter=function(){return new n.maps.LatLng(this.map.getCenter().lat,this.map.getCenter().lng)},i.prototype.getDiv=function(){return{}},i.prototype.getHeading=function(){return 0},i.prototype.getMapTypeId=function(){return""},i.prototype.getProjection=function(){return new s(this.map)},i.prototype.getStreetView=function(){return{}},i.prototype.getTilt=function(){return 0},i.prototype.getZoom=function(){return this.map.getZoom()},i.prototype.panBy=function(n,t){this.map.panBy(new L.Point(n,t))},i.prototype.addLayer=function(n){this.map.addLayer(n)},i.prototype.panTo=function(){},i.prototype.panToBounds=function(){},i.prototype.setCenter=function(n){this.map.setView(new L.LatLng(n.lat(),n.lng()),this.map.getZoom())},i.prototype.setView=function(n,t){this.map.setView(new L.LatLng(n.lat(),n.lng()),t)},i.prototype.setHeading=function(){},i.prototype.setMapTypeId=function(){},i.prototype.setOptions=function(){},i.prototype.setStreetView=function(){},i.prototype.setTilt=function(){},i.prototype.setZoom=function(n){this.map.setZoom(n)},i}(i);t.Map=b;u=function(){function n(){}return n.prototype.remove=function(){},n}();t.MapsEventListener=u;k=function(){function n(){}return n.addListener=function(n,t,i){return n.getLeafletMap().addEventListener(t,function(){return i()}),new u},n.addListenerOnce=function(n,t,i){return n.getLeafletMap().addOneTimeEventListener("tileloadstart",function(){return i()}),new u},n.trigger=function(){for(var t=[],n=2;n<arguments.length;n++)t[n-2]=arguments[n]},n}();t.event=k;d=function(n){function t(){return n.call(this)||this}return __extends(t,n),t.prototype.getDefaultViewport=function(){return new e},t.prototype.getMap=function(){return{}},t.prototype.getUrl=function(){return""},t.prototype.getZIndex=function(){return 0},t.prototype.setMap=function(){},t.prototype.setUrl=function(){},t.prototype.setZIndez=function(){},t}(i);t.KmlLayer=d})(t=n.maps||(n.maps={}))}(google||(google={})),function(n){var t=function(){function t(){var t=this;this.nafraHigh=null;this.nafraMedium=null;this.nafraLow=null;this.nafraVeryLow=null;this.searchField=ko.observable("");this.searchFound=ko.observable(!1);this.veryLowRiskResult=ko.observable("Calculating Distance...");this.lowRiskResult=ko.observable("Calculating Distance...");this.mediumRiskResult=ko.observable("Calculating Distance...");this.highRiskResult=ko.observable("Calculating Distance...");this.severityOfFoundLocation=ko.observable("");this.map=null;this.geocoder=new google.maps.Geocoder;this.marker=null;this.currentYear=ko.observable((new Date).getFullYear().toString());this._listenForMapTransitionEnd=function(){$("#map-container").one("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend",function(){t._mapResized()})};this._mapResized=function(){setTimeout(function(){var n=t.map.getCenter();google.maps.event.trigger(t.map,"resize");t.map.setCenter(n);console.log("Resize map")},250)};this.Search=function(){$("#splash").fadeOut();t.searchField().length>0&&(t.searchFound(!0),t.geocoder.geocode({address:t.searchField()+",uk",region:"uk"},function(n,i){var r,u;i==google.maps.GeocoderStatus.OK&&(t.map.setView(new google.maps.LatLng(parseFloat(n[0].lat),parseFloat(n[0].lon)),13),t.marker&&t.marker.setMap(null),r=baseUrl+"Content/Images/search-pin.png",$("body").hasClass("client1")&&(r=baseUrl+"Content/Images/clientcustom/floodguard/search-pin-floodguard.png"),u={map:t.map,draggable:!0,icon:r,position:new google.maps.LatLng(parseFloat(n[0].lat),parseFloat(n[0].lon)),title:"Tip: Use your mouse to drag the pin. We will then recalculate your flood risk."},t.marker=new google.maps.Marker(u),t.getNearestRisk(t.marker.getPosition().lat(),t.marker.getPosition().lng()),t.marker.addListener("dragend",function(){t.getNearestRisk(t.marker.getPosition().lat(),t.marker.getPosition().lng());t.reverseGeocode(t.marker.getPosition().lat(),t.marker.getPosition().lng())}))}))};this.reverseGeocode=function(i,r){var u=new google.maps.LatLng(i,r);t.geocoder.geocode({location:u},function(t,i){i==google.maps.GeocoderStatus.OK&&t[1]&&n.Map.Self.searchField(t[1].formatted_address)})};n.Map.Self=this;ko.bindingHandlers.slideIn={init:function(n,t){var i=ko.utils.unwrapObservable(t())},update:function(n,t){var i=ko.utils.unwrapObservable(t());i?$(n).slideDown():$(n).slideUp()}}}return t.prototype.LoadMap=function(n){var t;this.setUpSliders();t={center:new google.maps.LatLng(53,-2),zoom:6};this.map=new google.maps.Map(n,t);var i={rofrs:function(n){var i=n.prob_4band,t="#000",r=100,u=1;return i=="High"?t="#120EFC":i=="Medium"?(t="#2B92FB",u=1,r=1e3):i=="Low"?t="#A7C8C8":i=="Very Low"&&(t="#C3DBDB"),{weight:1,fill:!0,color:t,fillColor:t,zIndex:r,fillOpacity:.7}}},r="https://floodalerts.blob.core.windows.net/nafra/tiles-jan-2020/{z}/{x}/{y}.pbf",u={rendererFactory:L.canvas.tile,attribution:"Shoothill",vectorTileLayerStyles:i,maxZoom:14},f={rendererFactory:L.svg.tile,attribution:"Shoothill",vectorTileLayerStyles:i,maxZoom:20,minZoom:14,maxNativeZoom:14},e=L.vectorGrid.protobuf(r,u).addTo(this.map.getLeafletMap()),o=L.vectorGrid.protobuf(r,f).addTo(this.map.getLeafletMap())},t.prototype.doPost=function(){window.open("https://www.facebook.com/sharer.php?u="+encodeURIComponent("https://www.checkmyfloodrisk.co.uk")+"&description="+encodeURIComponent("Is your home at risk from flooding?"),"shareOnFacebook","width=500,height=500,toolbar=no")},t.prototype.doTweet=function(){var n={description:"Shoothill Check My Flood Risk - Check your properties risk of flooding from rivers & sea - #floodaware",link:"https://www.checkmyfloodrisk.co.uk"};window.open("https://twitter.com/share?text="+encodeURIComponent(n.description)+"&url="+encodeURIComponent(n.link),"shareOnTwitter","width=500,height=500,toolbar=no")},t.prototype.setUpSliders=function(){var n=this;$("#ex1").slider({tooltip:"hide"}).on("change",function(t){n.nafraHigh.setOpacity(t.value.newValue/100);n.nafraMedium.setOpacity(t.value.newValue/100);n.nafraLow.setOpacity(t.value.newValue/100);n.nafraVeryLow.setOpacity(t.value.newValue/100)})},t.prototype.searchKeyUp=function(n,t){t.keyCode===13&&this.Search()},t.prototype.getNearestRisk=function(n,t){var i=this;this.severityOfFoundLocation("");this.veryLowRiskResult("<i class='fa fa-spinner fa-spin'><\/i> Calculating distance...");this.lowRiskResult("<i class='fa fa-spinner fa-spin'><\/i> Calculating distance...");this.mediumRiskResult("<i class='fa fa-spinner fa-spin'><\/i> Calculating distance...");this.highRiskResult("<i class='fa fa-spinner fa-spin'><\/i> Calculating distance...");$.get(baseUrl+"Home/GetFloodRisk?Latitude="+n+"&Longitude="+t,function(n){i.veryLowRiskResult(n.VeryLow<0?"You are over 5km away":"<span class='result'>"+n.VeryLow+"m away<\/span>");i.lowRiskResult(n.Low<0?"You are over 5km away":"<span class='result'>"+n.Low+"m away");i.mediumRiskResult(n.Medium<0?"You are over 5km away":"<span class='result'>"+n.Medium+"m away");i.highRiskResult(n.High<0?"You are over 5km away":"<span class='result'>"+n.High+"m away");n.High==0?i.severityOfFoundLocation("high"):n.Medium==0?i.severityOfFoundLocation("medium"):n.Low==0?i.severityOfFoundLocation("low"):n.VeryLow==0?i.severityOfFoundLocation("verylow"):i.severityOfFoundLocation("none")})},t.prototype.AddLayer=function(n){var i=this,t=new google.maps.ImageMapType({name:"nafra-"+n,opacity:.75,getTileUrl:function(t,r){return r>16?"":"https://floodalerts.blob.core.windows.net/nafra/tiles-jan-2014/"+n+"/"+i.TileToQuadKey(t.x,t.y,r)+".png"},tileSize:new google.maps.Size(256,256)});return this.map.overlayMapTypes.push(t),t},t.prototype.TileToQuadKey=function(n,t,i){for(var e="",f,u,r=i;r>0;r--)f=1<<r-1,u=0,(n&f)!=0&&u++,(t&f)!=0&&(u+=2),e+=u;return e},t.Self=null,t}();n.Map=t}(Shoothill||(Shoothill={})),function(){"use strict";function ut(n,t,i){try{return window.URL.createObjectURL(new Blob([Uint8Array.from(n.split("").map(function(n){return n.charCodeAt(0)}))],{type:t}))}catch(r){return"data:"+t+(i?";base64,":",")+n}}function n(n){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(n)?n:new Uint8Array(n||0);this.pos=0;this.type=0;this.length=this.buf.length}function ht(n,t,i){var e=i.buf,f,u;if((u=e[i.pos++],f=(u&112)>>4,u<128)||(u=e[i.pos++],f|=(u&127)<<3,u<128)||(u=e[i.pos++],f|=(u&127)<<10,u<128)||(u=e[i.pos++],f|=(u&127)<<17,u<128)||(u=e[i.pos++],f|=(u&127)<<24,u<128)||(u=e[i.pos++],f|=(u&1)<<31,u<128))return r(n,f,t);throw new Error("Expected varint not more than 10 bytes");}function t(t){return t.type===n.Bytes?t.readVarint()+t.pos:t.pos+1}function r(n,t,i){return i?t*4294967296+(n>>>0):(t>>>0)*4294967296+(n>>>0)}function ct(n,t){var i,r;if(n>=0?(i=n%4294967296|0,r=n/4294967296|0):(i=~(-n%4294967296),r=~(-n/4294967296),i^4294967295?i=i+1|0:(i=0,r=r+1|0)),n>=0x10000000000000000||n<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10);lt(i,r,t);at(r,t)}function lt(n,t,i){i.buf[i.pos++]=n&127|128;n>>>=7;i.buf[i.pos++]=n&127|128;n>>>=7;i.buf[i.pos++]=n&127|128;n>>>=7;i.buf[i.pos++]=n&127|128;n>>>=7;i.buf[i.pos]=n&127}function at(n,t){var i=(n&7)<<4;(t.buf[t.pos++]|=i|((n>>>=3)?128:0),n)&&(t.buf[t.pos++]=n&127|((n>>>=7)?128:0),n)&&(t.buf[t.pos++]=n&127|((n>>>=7)?128:0),n)&&(t.buf[t.pos++]=n&127|((n>>>=7)?128:0),n)&&(t.buf[t.pos++]=n&127|((n>>>=7)?128:0),n)&&(t.buf[t.pos++]=n&127)}function a(n,t,i){var u=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.ceil(Math.log(t)/(Math.LN2*7)),r;for(i.realloc(u),r=i.pos-1;r>=n;r--)i.buf[r+u]=i.buf[r]}function vt(n,t){for(var i=0;i<n.length;i++)t.writeVarint(n[i])}function yt(n,t){for(var i=0;i<n.length;i++)t.writeSVarint(n[i])}function pt(n,t){for(var i=0;i<n.length;i++)t.writeFloat(n[i])}function wt(n,t){for(var i=0;i<n.length;i++)t.writeDouble(n[i])}function bt(n,t){for(var i=0;i<n.length;i++)t.writeBoolean(n[i])}function kt(n,t){for(var i=0;i<n.length;i++)t.writeFixed32(n[i])}function dt(n,t){for(var i=0;i<n.length;i++)t.writeSFixed32(n[i])}function gt(n,t){for(var i=0;i<n.length;i++)t.writeFixed64(n[i])}function ni(n,t){for(var i=0;i<n.length;i++)t.writeSFixed64(n[i])}function h(n,t){return(n[t]|n[t+1]<<8|n[t+2]<<16)+n[t+3]*16777216}function u(n,t,i){n[i]=t;n[i+1]=t>>>8;n[i+2]=t>>>16;n[i+3]=t>>>24}function v(n,t){return(n[t]|n[t+1]<<8|n[t+2]<<16)+(n[t+3]<<24)}function ti(n,t,i){for(var h="",u=t,f,s,c;u<i;){var e=n[u],r=null,o=e>239?4:e>223?3:e>191?2:1;if(u+o>i)break;o===1?e<128&&(r=e):o===2?(f=n[u+1],(f&192)==128&&(r=(e&31)<<6|f&63,r<=127&&(r=null))):o===3?(f=n[u+1],s=n[u+2],(f&192)==128&&(s&192)==128&&(r=(e&15)<<12|(f&63)<<6|s&63,(r<=2047||r>=55296&&r<=57343)&&(r=null))):o===4&&(f=n[u+1],s=n[u+2],c=n[u+3],(f&192)==128&&(s&192)==128&&(c&192)==128&&(r=(e&15)<<18|(f&63)<<12|(s&63)<<6|c&63,(r<=65535||r>=1114112)&&(r=null)));r===null?(r=65533,o=1):r>65535&&(r-=65536,h+=String.fromCharCode(r>>>10&1023|55296),r=56320|r&1023);h+=String.fromCharCode(r);u+=o}return h}function ii(n,t,i){for(var f=0,r,u;f<t.length;f++){if(r=t.charCodeAt(f),r>55295&&r<57344)if(u)if(r<56320){n[i++]=239;n[i++]=191;n[i++]=189;u=r;continue}else r=u-55296<<10|r-56320|65536,u=null;else{r>56319||f+1===t.length?(n[i++]=239,n[i++]=191,n[i++]=189):u=r;continue}else u&&(n[i++]=239,n[i++]=191,n[i++]=189,u=null);r<128?n[i++]=r:(r<2048?n[i++]=r>>6|192:(r<65536?n[i++]=r>>12|224:(n[i++]=r>>18|240,n[i++]=r>>12&63|128),n[i++]=r>>6&63|128),n[i++]=r&63|128)}return i}function f(n,t){this.x=n;this.y=t}function e(n,t,i,r,u){this.properties={};this.extent=i;this.type=0;this._pbf=n;this._geometry=-1;this._keys=r;this._values=u;n.readFields(ri,this,t)}function ri(n,t,i){n==1?t.id=i.readVarint():n==2?ui(i,t):n==3?t.type=i.readVarint():n==4&&(t._geometry=i.pos)}function ui(n,t){for(var u=n.readVarint()+n.pos,i,r;n.pos<u;)i=t._keys[n.readVarint()],r=t._values[n.readVarint()],t.properties[i]=r}function fi(n){var e=n.length,r,t,f,i,u;if(e<=1)return[n];for(r=[],i=0;i<e;i++)(u=ei(n[i]),u!==0)&&(f===undefined&&(f=u<0),f===u<0?(t&&r.push(t),t=[n[i]]):t.push(n[i]));return t&&r.push(t),r}function ei(n){for(var u=0,t=0,f=n.length,e=f-1,i,r;t<f;e=t++)i=n[t],r=n[e],u+=(r.x-i.x)*(i.y+r.y);return u}function d(n,t){this.version=1;this.name=null;this.extent=4096;this.length=0;this._pbf=n;this._keys=[];this._values=[];this._features=[];n.readFields(oi,this,t);this.length=this._features.length}function oi(n,t,i){n===15?t.version=i.readVarint():n===1?t.name=i.readString():n===5?t.extent=i.readVarint():n===2?t._features.push(i.pos):n===3?t._keys.push(i.readString()):n===4&&t._values.push(si(i))}function si(n){for(var i=null,r=n.readVarint()+n.pos,t;n.pos<r;)t=n.readVarint()>>3,i=t===1?n.readString():t===2?n.readFloat():t===3?n.readDouble():t===4?n.readVarint64():t===5?n.readVarint():t===6?n.readSVarint():t===7?n.readBoolean():null;return i}function hi(n,t){this.layers=n.readFields(ci,{},t)}function ci(n,t,i){if(n===3){var r=new g(i,i.readVarint()+i.pos);r.length&&(t[r.name]=r)}}var s,c,y,p,w,b,k,g,nt,tt,rt;(function(n){function f(n){if(typeof n!="string"&&(n=String(n)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(n))throw new TypeError("Invalid character in header field name");return n.toLowerCase()}function s(n){return typeof n!="string"&&(n=String(n)),n}function e(n){var t={next:function(){var t=n.shift();return{done:t===undefined,value:t}}};return i.iterable&&(t[Symbol.iterator]=function(){return t}),t}function t(n){this.map={};n instanceof t?n.forEach(function(n,t){this.append(t,n)},this):Array.isArray(n)?n.forEach(function(n){this.append(n[0],n[1])},this):n&&Object.getOwnPropertyNames(n).forEach(function(t){this.append(t,n[t])},this)}function o(n){if(n.bodyUsed)return Promise.reject(new TypeError("Already read"));n.bodyUsed=!0}function h(n){return new Promise(function(t,i){n.onload=function(){t(n.result)};n.onerror=function(){i(n.error)}})}function b(n){var t=new FileReader,i=h(t);return t.readAsArrayBuffer(n),i}function k(n){var t=new FileReader,i=h(t);return t.readAsText(n),i}function d(n){for(var i=new Uint8Array(n),r=new Array(i.length),t=0;t<i.length;t++)r[t]=String.fromCharCode(i[t]);return r.join("")}function c(n){if(n.slice)return n.slice(0);var t=new Uint8Array(n.byteLength);return t.set(new Uint8Array(n)),t.buffer}function l(){return this.bodyUsed=!1,this._initBody=function(n){if(this._bodyInit=n,n)if(typeof n=="string")this._bodyText=n;else if(i.blob&&Blob.prototype.isPrototypeOf(n))this._bodyBlob=n;else if(i.formData&&FormData.prototype.isPrototypeOf(n))this._bodyFormData=n;else if(i.searchParams&&URLSearchParams.prototype.isPrototypeOf(n))this._bodyText=n.toString();else if(i.arrayBuffer&&i.blob&&p(n))this._bodyArrayBuffer=c(n.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else if(i.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(n)||w(n)))this._bodyArrayBuffer=c(n);else throw new Error("unsupported BodyInit type");else this._bodyText="";this.headers.get("content-type")||(typeof n=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):i.searchParams&&URLSearchParams.prototype.isPrototypeOf(n)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i.blob&&(this.blob=function(){var n=o(this);if(n)return n;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");else return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?o(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(b)}),this.text=function(){var n=o(this);if(n)return n;if(this._bodyBlob)return k(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(d(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");else return Promise.resolve(this._bodyText)},i.formData&&(this.formData=function(){return this.text().then(nt)}),this.json=function(){return this.text().then(JSON.parse)},this}function g(n){var t=n.toUpperCase();return a.indexOf(t)>-1?t:n}function u(n,i){i=i||{};var r=i.body;if(n instanceof u){if(n.bodyUsed)throw new TypeError("Already read");this.url=n.url;this.credentials=n.credentials;i.headers||(this.headers=new t(n.headers));this.method=n.method;this.mode=n.mode;r||n._bodyInit==null||(r=n._bodyInit,n.bodyUsed=!0)}else this.url=String(n);if(this.credentials=i.credentials||this.credentials||"omit",(i.headers||!this.headers)&&(this.headers=new t(i.headers)),this.method=g(i.method||this.method||"GET"),this.mode=i.mode||this.mode||null,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&r)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(r)}function nt(n){var t=new FormData;return n.trim().split("&").forEach(function(n){if(n){var i=n.split("="),r=i.shift().replace(/\+/g," "),u=i.join("=").replace(/\+/g," ");t.append(decodeURIComponent(r),decodeURIComponent(u))}}),t}function tt(n){var i=new t;return n.split(/\r?\n/).forEach(function(n){var t=n.split(":"),r=t.shift().trim(),u;r&&(u=t.join(":").trim(),i.append(r,u))}),i}function r(n,i){i||(i={});this.type="default";this.status="status"in i?i.status:200;this.ok=this.status>=200&&this.status<300;this.statusText="statusText"in i?i.statusText:"OK";this.headers=new t(i.headers);this.url=i.url||"";this._initBody(n)}var i,a,v;if(!n.fetch){if(i={searchParams:"URLSearchParams"in n,iterable:"Symbol"in n&&"iterator"in Symbol,blob:"FileReader"in n&&"Blob"in n&&function(){try{return new Blob,!0}catch(n){return!1}}(),formData:"FormData"in n,arrayBuffer:"ArrayBuffer"in n},i.arrayBuffer)var y=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],p=function(n){return n&&DataView.prototype.isPrototypeOf(n)},w=ArrayBuffer.isView||function(n){return n&&y.indexOf(Object.prototype.toString.call(n))>-1};t.prototype.append=function(n,t){n=f(n);t=s(t);var i=this.map[n];this.map[n]=i?i+","+t:t};t.prototype["delete"]=function(n){delete this.map[f(n)]};t.prototype.get=function(n){return n=f(n),this.has(n)?this.map[n]:null};t.prototype.has=function(n){return this.map.hasOwnProperty(f(n))};t.prototype.set=function(n,t){this.map[f(n)]=s(t)};t.prototype.forEach=function(n,t){var r=this,i;for(i in this.map)r.map.hasOwnProperty(i)&&n.call(t,r.map[i],i,r)};t.prototype.keys=function(){var n=[];return this.forEach(function(t,i){n.push(i)}),e(n)};t.prototype.values=function(){var n=[];return this.forEach(function(t){n.push(t)}),e(n)};t.prototype.entries=function(){var n=[];return this.forEach(function(t,i){n.push([i,t])}),e(n)};i.iterable&&(t.prototype[Symbol.iterator]=t.prototype.entries);a=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];u.prototype.clone=function(){return new u(this,{body:this._bodyInit})};l.call(u.prototype);l.call(r.prototype);r.prototype.clone=function(){return new r(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new t(this.headers),url:this.url})};r.error=function(){var n=new r(null,{status:0,statusText:""});return n.type="error",n};v=[301,302,303,307,308];r.redirect=function(n,t){if(v.indexOf(t)===-1)throw new RangeError("Invalid status code");return new r(null,{status:t,headers:{location:n}})};n.Headers=t;n.Request=u;n.Response=r;n.fetch=function(n,t){return new Promise(function(f,e){var s=new u(n,t),o=new XMLHttpRequest;o.onload=function(){var n={status:o.status,statusText:o.statusText,headers:tt(o.getAllResponseHeaders()||"")},t;n.url="responseURL"in o?o.responseURL:n.headers.get("X-Request-URL");t="response"in o?o.response:o.responseText;f(new r(t,n))};o.onerror=function(){e(new TypeError("Network request failed"))};o.ontimeout=function(){e(new TypeError("Network request failed"))};o.open(s.method,s.url,!0);s.credentials==="include"&&(o.withCredentials=!0);"responseType"in o&&i.blob&&(o.responseType="blob");s.headers.forEach(function(n,t){o.setRequestHeader(t,n)});o.send(typeof s._bodyInit=="undefined"?null:s._bodyInit)})};n.fetch.polyfill=!0}})(typeof self!="undefined"?self:undefined);var ft=function(n,t,i,r,u){var f,o,l=u*8-r-1,a=(1<<l)-1,v=a>>1,e=-7,s=i?u-1:0,c=i?-1:1,h=n[t+s];for(s+=c,f=h&(1<<-e)-1,h>>=-e,e+=l;e>0;f=f*256+n[t+s],s+=c,e-=8);for(o=f&(1<<-e)-1,f>>=-e,e+=r;e>0;o=o*256+n[t+s],s+=c,e-=8);if(f===0)f=1-v;else{if(f===a)return o?NaN:(h?-1:1)*Infinity;o=o+Math.pow(2,r);f=f-v}return(h?-1:1)*o*Math.pow(2,f-r)},et=function(n,t,i,r,u,f){var e,o,s,l=f*8-u-1,a=(1<<l)-1,h=a>>1,y=u===23?Math.pow(2,-24)-Math.pow(2,-77):0,c=r?0:f-1,v=r?1:-1,p=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===Infinity?(o=isNaN(t)?1:0,e=a):(e=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-e))<1&&(e--,s*=2),t+=e+h>=1?y/s:y*Math.pow(2,1-h),t*s>=2&&(e++,s/=2),e+h>=a?(o=0,e=a):e+h>=1?(o=(t*s-1)*Math.pow(2,u),e=e+h):(o=t*Math.pow(2,h-1)*Math.pow(2,u),e=0));u>=8;n[i+c]=o&255,c+=v,o/=256,u-=8);for(e=e<<u|o,l+=u;l>0;n[i+c]=e&255,c+=v,e/=256,l-=8);n[i+c-v]|=p*128},ot={read:ft,write:et},st=n,o=ot;n.Varint=0;n.Fixed64=1;n.Bytes=2;n.Fixed32=5;s=4294967296;c=1/s;n.prototype={destroy:function(){this.buf=null},readFields:function(n,t,i){var r=this;for(i=i||this.length;this.pos<i;){var u=r.readVarint(),f=u>>3,e=r.pos;r.type=u&7;n(f,t,r);r.pos===e&&r.skip(u)}return t},readMessage:function(n,t){return this.readFields(n,t,this.readVarint()+this.pos)},readFixed32:function(){var n=h(this.buf,this.pos);return this.pos+=4,n},readSFixed32:function(){var n=v(this.buf,this.pos);return this.pos+=4,n},readFixed64:function(){var n=h(this.buf,this.pos)+h(this.buf,this.pos+4)*s;return this.pos+=8,n},readSFixed64:function(){var n=h(this.buf,this.pos)+v(this.buf,this.pos+4)*s;return this.pos+=8,n},readFloat:function(){var n=o.read(this.buf,this.pos,!0,23,4);return this.pos+=4,n},readDouble:function(){var n=o.read(this.buf,this.pos,!0,52,8);return this.pos+=8,n},readVarint:function(n){var r=this.buf,i,t;return(t=r[this.pos++],i=t&127,t<128)?i:(t=r[this.pos++],i|=(t&127)<<7,t<128)?i:(t=r[this.pos++],i|=(t&127)<<14,t<128)?i:(t=r[this.pos++],i|=(t&127)<<21,t<128)?i:(t=r[this.pos],i|=(t&15)<<28,ht(i,n,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var n=this.readVarint();return n%2==1?(n+1)/-2:n/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var n=this.readVarint()+this.pos,t=ti(this.buf,this.pos,n);return this.pos=n,t},readBytes:function(){var n=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,n);return this.pos=n,t},readPackedVarint:function(n,i){var r=this,u=t(this);for(n=n||[];this.pos<u;)n.push(r.readVarint(i));return n},readPackedSVarint:function(n){var i=this,r=t(this);for(n=n||[];this.pos<r;)n.push(i.readSVarint());return n},readPackedBoolean:function(n){var i=this,r=t(this);for(n=n||[];this.pos<r;)n.push(i.readBoolean());return n},readPackedFloat:function(n){var i=this,r=t(this);for(n=n||[];this.pos<r;)n.push(i.readFloat());return n},readPackedDouble:function(n){var i=this,r=t(this);for(n=n||[];this.pos<r;)n.push(i.readDouble());return n},readPackedFixed32:function(n){var i=this,r=t(this);for(n=n||[];this.pos<r;)n.push(i.readFixed32());return n},readPackedSFixed32:function(n){var i=this,r=t(this);for(n=n||[];this.pos<r;)n.push(i.readSFixed32());return n},readPackedFixed64:function(n){var i=this,r=t(this);for(n=n||[];this.pos<r;)n.push(i.readFixed64());return n},readPackedSFixed64:function(n){var i=this,r=t(this);for(n=n||[];this.pos<r;)n.push(i.readSFixed64());return n},skip:function(t){var i=t&7;if(i===n.Varint)while(this.buf[this.pos++]>127);else if(i===n.Bytes)this.pos=this.readVarint()+this.pos;else if(i===n.Fixed32)this.pos+=4;else if(i===n.Fixed64)this.pos+=8;else throw new Error("Unimplemented type: "+i);},writeTag:function(n,t){this.writeVarint(n<<3|t)},realloc:function(n){for(var t=this.length||16,i;t<this.pos+n;)t*=2;t!==this.length&&(i=new Uint8Array(t),i.set(this.buf),this.buf=i,this.length=t)},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(n){this.realloc(4);u(this.buf,n,this.pos);this.pos+=4},writeSFixed32:function(n){this.realloc(4);u(this.buf,n,this.pos);this.pos+=4},writeFixed64:function(n){this.realloc(8);u(this.buf,n&-1,this.pos);u(this.buf,Math.floor(n*c),this.pos+4);this.pos+=8},writeSFixed64:function(n){this.realloc(8);u(this.buf,n&-1,this.pos);u(this.buf,Math.floor(n*c),this.pos+4);this.pos+=8},writeVarint:function(n){if(n=+n||0,n>268435455||n<0){ct(n,this);return}(this.realloc(4),this.buf[this.pos++]=n&127|(n>127?128:0),n<=127)||(this.buf[this.pos++]=(n>>>=7)&127|(n>127?128:0),n<=127)||(this.buf[this.pos++]=(n>>>=7)&127|(n>127?128:0),n<=127)||(this.buf[this.pos++]=n>>>7&127)},writeSVarint:function(n){this.writeVarint(n<0?-n*2-1:n*2)},writeBoolean:function(n){this.writeVarint(Boolean(n))},writeString:function(n){var i,t;n=String(n);this.realloc(n.length*4);this.pos++;i=this.pos;this.pos=ii(this.buf,n,this.pos);t=this.pos-i;t>=128&&a(i,t,this);this.pos=i-1;this.writeVarint(t);this.pos+=t},writeFloat:function(n){this.realloc(4);o.write(this.buf,n,this.pos,!0,23,4);this.pos+=4},writeDouble:function(n){this.realloc(8);o.write(this.buf,n,this.pos,!0,52,8);this.pos+=8},writeBytes:function(n){var r=this,i=n.length,t;for(this.writeVarint(i),this.realloc(i),t=0;t<i;t++)r.buf[r.pos++]=n[t]},writeRawMessage:function(n,t){var r,i;this.pos++;r=this.pos;n(t,this);i=this.pos-r;i>=128&&a(r,i,this);this.pos=r-1;this.writeVarint(i);this.pos+=i},writeMessage:function(t,i,r){this.writeTag(t,n.Bytes);this.writeRawMessage(i,r)},writePackedVarint:function(n,t){this.writeMessage(n,vt,t)},writePackedSVarint:function(n,t){this.writeMessage(n,yt,t)},writePackedBoolean:function(n,t){this.writeMessage(n,bt,t)},writePackedFloat:function(n,t){this.writeMessage(n,pt,t)},writePackedDouble:function(n,t){this.writeMessage(n,wt,t)},writePackedFixed32:function(n,t){this.writeMessage(n,kt,t)},writePackedSFixed32:function(n,t){this.writeMessage(n,dt,t)},writePackedFixed64:function(n,t){this.writeMessage(n,gt,t)},writePackedSFixed64:function(n,t){this.writeMessage(n,ni,t)},writeBytesField:function(t,i){this.writeTag(t,n.Bytes);this.writeBytes(i)},writeFixed32Field:function(t,i){this.writeTag(t,n.Fixed32);this.writeFixed32(i)},writeSFixed32Field:function(t,i){this.writeTag(t,n.Fixed32);this.writeSFixed32(i)},writeFixed64Field:function(t,i){this.writeTag(t,n.Fixed64);this.writeFixed64(i)},writeSFixed64Field:function(t,i){this.writeTag(t,n.Fixed64);this.writeSFixed64(i)},writeVarintField:function(t,i){this.writeTag(t,n.Varint);this.writeVarint(i)},writeSVarintField:function(t,i){this.writeTag(t,n.Varint);this.writeSVarint(i)},writeStringField:function(t,i){this.writeTag(t,n.Bytes);this.writeString(i)},writeFloatField:function(t,i){this.writeTag(t,n.Fixed32);this.writeFloat(i)},writeDoubleField:function(t,i){this.writeTag(t,n.Fixed64);this.writeDouble(i)},writeBooleanField:function(n,t){this.writeVarintField(n,Boolean(t))}};y=f;f.prototype={clone:function(){return new f(this.x,this.y)},add:function(n){return this.clone()._add(n)},sub:function(n){return this.clone()._sub(n)},mult:function(n){return this.clone()._mult(n)},div:function(n){return this.clone()._div(n)},rotate:function(n){return this.clone()._rotate(n)},matMult:function(n){return this.clone()._matMult(n)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(n){return this.x===n.x&&this.y===n.y},dist:function(n){return Math.sqrt(this.distSqr(n))},distSqr:function(n){var t=n.x-this.x,i=n.y-this.y;return t*t+i*i},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(n){return Math.atan2(this.y-n.y,this.x-n.x)},angleWith:function(n){return this.angleWithSep(n.x,n.y)},angleWithSep:function(n,t){return Math.atan2(this.x*t-this.y*n,this.x*n+this.y*t)},_matMult:function(n){var t=n[0]*this.x+n[1]*this.y,i=n[2]*this.x+n[3]*this.y;return this.x=t,this.y=i,this},_add:function(n){return this.x+=n.x,this.y+=n.y,this},_sub:function(n){return this.x-=n.x,this.y-=n.y,this},_mult:function(n){return this.x*=n,this.y*=n,this},_div:function(n){return this.x/=n,this.y/=n,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var n=this.y;return this.y=this.x,this.x=-n,this},_rotate:function(n){var t=Math.cos(n),i=Math.sin(n),r=t*this.x-i*this.y,u=i*this.x+t*this.y;return this.x=r,this.y=u,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}};f.convert=function(n){return n instanceof f?n:Array.isArray(n)?new f(n[0],n[1]):n};p=y;w=e;e.types=["Unknown","Point","LineString","Polygon"];e.prototype.loadGeometry=function(){var t=this._pbf,f;t.pos=this._geometry;for(var s=t.readVarint()+t.pos,i=1,r=0,e=0,o=0,u=[],n;t.pos<s;)if(r||(f=t.readVarint(),i=f&7,r=f>>3),r--,i===1||i===2)e+=t.readSVarint(),o+=t.readSVarint(),i===1&&(n&&u.push(n),n=[]),n.push(new p(e,o));else if(i===7)n&&n.push(n[0].clone());else throw new Error("unknown command "+i);return n&&u.push(n),u};e.prototype.bbox=function(){var n=this._pbf,h;n.pos=this._geometry;for(var c=n.readVarint()+n.pos,t=1,u=0,i=0,r=0,f=Infinity,e=-Infinity,o=Infinity,s=-Infinity;n.pos<c;)if(u||(h=n.readVarint(),t=h&7,u=h>>3),u--,t===1||t===2)i+=n.readSVarint(),r+=n.readSVarint(),i<f&&(f=i),i>e&&(e=i),r<o&&(o=r),r>s&&(s=r);else if(t!==7)throw new Error("unknown command "+t);return[f,o,e,s]};e.prototype.toGeoJSON=function(n,t,i){function s(n){for(var i,r,t=0;t<n.length;t++)i=n[t],r=180-(i.y+v)*360/l,n[t]=[(i.x+a)*360/l-180,360/Math.PI*Math.atan(Math.exp(r*Math.PI/180))-90]}var l=this.extent*Math.pow(2,i),a=this.extent*n,v=this.extent*t,r=this.loadGeometry(),o=e.types[this.type],u,f,h,c;switch(this.type){case 1:for(h=[],u=0;u<r.length;u++)h[u]=r[u][0];r=h;s(r);break;case 2:for(u=0;u<r.length;u++)s(r[u]);break;case 3:for(r=fi(r),u=0;u<r.length;u++)for(f=0;f<r[u].length;f++)s(r[u][f])}return r.length===1?r=r[0]:o="Multi"+o,c={type:"Feature",geometry:{type:o,coordinates:r},properties:this.properties},"id"in this&&(c.id=this.id),c};b=w;k=d;d.prototype.feature=function(n){if(n<0||n>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[n];var t=this._pbf.readVarint()+this._pbf.pos;return new b(this._pbf,t,this.extent,this._keys,this._values)};g=k;nt=hi;tt=nt;L.SVG.Tile=L.SVG.extend({initialize:function(n,t,i){L.SVG.prototype.initialize.call(this,i);this._tileCoord=n;this._size=t;this._initContainer();this._container.setAttribute("width",this._size.x);this._container.setAttribute("height",this._size.y);this._container.setAttribute("viewBox",[0,0,this._size.x,this._size.y].join(" "));this._layers={}},getCoord:function(){return this._tileCoord},getContainer:function(){return this._container},onAdd:L.Util.falseFn,addTo:function(n){var i,t;if(this._map=n,this.options.interactive)for(i in this._layers)t=this._layers[i],t._path.style.pointerEvents="auto",this._map._targets[L.stamp(t._path)]=t},removeFrom:function(){var n,t;if(this.options.interactive)for(n in this._layers)t=this._layers[n],delete this._map._targets[L.stamp(t._path)];delete this._map},_initContainer:function(){L.SVG.prototype._initContainer.call(this);var n=L.SVG.create("rect")},_addPath:function(n){this._rootGroup.appendChild(n._path);this._layers[L.stamp(n)]=n},_updateIcon:function(n){var t=n._path=L.SVG.create("image"),f=n.options.icon,r=f.options,i=L.point(r.iconSize),e=r.iconAnchor||i&&i.divideBy(2,!0),u=n._point.subtract(e);t.setAttribute("x",u.x);t.setAttribute("y",u.y);t.setAttribute("width",i.x+"px");t.setAttribute("height",i.y+"px");t.setAttribute("href",r.iconUrl)}});L.svg.tile=function(n,t,i){return new L.SVG.Tile(n,t,i)};var i=L.Class.extend({render:function(n,t){this._renderer=n;this.options=t;n._initPath(this);n._updateStyle(this)},updateStyle:function(n,t){this.options=t;n._updateStyle(this)},_getPixelBounds:function(){for(var e=this._parts,n=L.bounds([]),r,i,u,f,t=0;t<e.length;t++)for(r=e[t],i=0;i<r.length;i++)n.extend(r[i]);return u=this._clickTolerance(),f=new L.Point(u,u),n.min._subtract(f),n.max._add(f),n},_clickTolerance:L.Path.prototype._clickTolerance}),it={_makeFeatureParts:function(n,t){var e=n.geometry,o,i,u,f,r;for(this._parts=[],i=0;i<e.length;i++){for(u=e[i],f=[],r=0;r<u.length;r++)o=u[r],f.push(L.point(o).scaleBy(t));this._parts.push(f)}},makeInteractive:function(){this._pxBounds=this._getPixelBounds()}},l=L.CircleMarker.extend({includes:i.prototype,statics:{iconCache:{}},initialize:function(n,t){this.properties=n.properties;this._makeFeatureParts(n,t)},render:function(n,t){i.prototype.render.call(this,n,t);this._radius=t.radius||L.CircleMarker.prototype.options.radius;this._updatePath()},_makeFeatureParts:function(n,t){var i=n.geometry[0];typeof i[0]=="object"&&"x"in i[0]?(this._point=L.point(i[0]).scaleBy(t),this._empty=L.Util.falseFn):(this._point=L.point(i).scaleBy(t),this._empty=L.Util.falseFn)},makeInteractive:function(){this._updateBounds()},updateStyle:function(n,t){return this._radius=t.radius||this._radius,this._updateBounds(),i.prototype.updateStyle.call(this,n,t)},_updateBounds:function(){var n=this.options.icon;if(n){var t=L.point(n.options.iconSize),r=n.options.iconAnchor||t&&t.divideBy(2,!0),i=this._point.subtract(r);this._pxBounds=new L.Bounds(i,i.add(n.options.iconSize))}else L.CircleMarker.prototype._updateBounds.call(this)},_updatePath:function(){this.options.icon?this._renderer._updateIcon(this):L.CircleMarker.prototype._updatePath.call(this)},_getImage:function(){var t,n,i;return this.options.icon?(t=this.options.icon.options.iconUrl,n=l.iconCache[t],n||(i=this.options.icon,n=l.iconCache[t]=i.createIcon()),n):null},_containsPoint:function(n){var t=this.options.icon;return t?this._pxBounds.contains(n):L.CircleMarker.prototype._containsPoint.call(this,n)}}),li=L.Polyline.extend({includes:[i.prototype,it],initialize:function(n,t){this.properties=n.properties;this._makeFeatureParts(n,t)},render:function(n,t){t.fill=!1;i.prototype.render.call(this,n,t);this._updatePath()},updateStyle:function(n,t){t.fill=!1;i.prototype.updateStyle.call(this,n,t)}}),ai=L.Polygon.extend({includes:[i.prototype,it],initialize:function(n,t){this.properties=n.properties;this._makeFeatureParts(n,t)},render:function(n,t){i.prototype.render.call(this,n,t);this._updatePath()}});L.VectorGrid=L.GridLayer.extend({options:{rendererFactory:L.svg.tile,vectorTileLayerStyles:{},interactive:!1},initialize:function(n){if(L.setOptions(this,n),L.GridLayer.prototype.initialize.apply(this,arguments),this.options.getFeatureId){this._vectorTiles={};this._overriddenStyles={};this.on("tileunload",function(n){var t=this._tileCoordsToKey(n.coords),i=this._vectorTiles[t];i&&this._map&&i.removeFrom(this._map);delete this._vectorTiles[t]},this)}this._dataLayerNames={}},createTile:function(n,t){var r=this.options.getFeatureId,u=this.getTileSize(),i=this.options.rendererFactory(n,u,this.options),f=this._getVectorTilePromise(n);return r&&(this._vectorTiles[this._tileCoordsToKey(n)]=i,i._features={}),f.then(function(u){var e,h,c,v,f,o,s,l,y;for(e in u.layers){this._dataLayerNames[e]=!0;var a=u.layers[e],p=this.getTileSize().divideBy(a.extent),w=this.options.vectorTileLayerStyles[e]||L.Path.prototype.options;for(h=0;h<a.features.length;h++)if(c=a.features[h],f=w,r&&(v=this.options.getFeatureId(c),o=this._overriddenStyles[v],o&&(f=o[e]?o[e]:o)),f instanceof Function&&(f=f(c.properties,n.z)),f instanceof Array||(f=[f]),f.length){for(s=this._createLayer(c,p),l=0;l<f.length;l++)y=L.extend({},L.Path.prototype.options,f[l]),s.render(i,y),i._addPath(s);this.options.interactive&&s.makeInteractive();r&&(i._features[v]={layerName:e,feature:s})}}this._map!=null&&i.addTo(this._map);L.Util.requestAnimFrame(t.bind(n,null,null))}.bind(this)),i.getContainer()},setFeatureStyle:function(n,t){var u,e,r;this._overriddenStyles[n]=t;for(u in this._vectorTiles){var f=this._vectorTiles[u],o=f._features,i=o[n];i&&(e=i.feature,r=t,t[i.layerName]&&(r=t[i.layerName]),this._updateStyles(e,f,r))}return this},resetFeatureStyle:function(n){var i,u,f;delete this._overriddenStyles[n];for(i in this._vectorTiles){var r=this._vectorTiles[i],e=r._features,t=e[n];t&&(u=t.feature,f=this.options.vectorTileLayerStyles[t.layerName]||L.Path.prototype.options,this._updateStyles(u,r,f))}return this},getDataLayerNames:function(){return Object.keys(this._dataLayerNames)},_updateStyles:function(n,t,i){var r,u;for(i=i instanceof Function?i(n.properties,t.getCoord().z):i,i instanceof Array||(i=[i]),r=0;r<i.length;r++)u=L.extend({},L.Path.prototype.options,i[r]),n.updateStyle(t,u)},_createLayer:function(n,t){var i;switch(n.type){case 1:i=new l(n,t);break;case 2:i=new li(n,t);break;case 3:i=new ai(n,t)}return this.options.interactive&&i.addEventParent(this),i}});L.vectorGrid=function(n){return new L.VectorGrid(n)};L.VectorGrid.Protobuf=L.VectorGrid.extend({options:{subdomains:"abc",fetchOptions:{}},initialize:function(n,t){this._url=n;L.VectorGrid.prototype.initialize.call(this,t)},setUrl:function(n,t){return this._url=n,t||this.redraw(),this},_getSubdomain:L.TileLayer.prototype._getSubdomain,_getVectorTilePromise:function(n){var t={s:this._getSubdomain(n),x:n.x,y:n.y,z:n.z},i,r;return this._map&&!this._map.options.crs.infinite&&(i=this._globalTileRange.max.y-n.y,this.options.tms&&(t.y=i),t["-y"]=i),r=L.Util.template(this._url,L.extend(t,this.options)),fetch(r,this.options.fetchOptions).then(function(n){return n.ok?n.blob().then(function(n){var t=new FileReader;return new Promise(function(i){t.addEventListener("loadend",function(){var n=new st(t.result);return i(new tt(n))});t.readAsArrayBuffer(n)})}):{layers:[]}}).then(function(n){var t,u,i,r;for(t in n.layers){for(u=[],i=0;i<n.layers[t].length;i++)n.layers[t].feature&&(r=n.layers[t].feature(i),r.geometry=r.loadGeometry(),u.push(r));n.layers[t].features=u}return n})}});L.vectorGrid.protobuf=function(n,t){return new L.VectorGrid.Protobuf(n,t)};rt=ut("'use strict';\n\nvar simplify_1 = simplify$1;\n\n// calculate simplification data using optimized Douglas-Peucker algorithm\n\nfunction simplify$1(points, tolerance) {\n\n    var sqTolerance = tolerance * tolerance,\n        len = points.length,\n        first = 0,\n        last = len - 1,\n        stack = [],\n        i, maxSqDist, sqDist, index;\n\n    // always retain the endpoints (1 is the max value)\n    points[first][2] = 1;\n    points[last][2] = 1;\n\n    // avoid recursion by using a stack\n    while (last) {\n\n        maxSqDist = 0;\n\n        for (i = first + 1; i < last; i++) {\n            sqDist = getSqSegDist(points[i], points[first], points[last]);\n\n            if (sqDist > maxSqDist) {\n                index = i;\n                maxSqDist = sqDist;\n            }\n        }\n\n        if (maxSqDist > sqTolerance) {\n            points[index][2] = maxSqDist; // save the point importance in squared pixels as a z coordinate\n            stack.push(first);\n            stack.push(index);\n            first = index;\n\n        } else {\n            last = stack.pop();\n            first = stack.pop();\n        }\n    }\n}\n\n// square distance from a point to a segment\nfunction getSqSegDist(p, a, b) {\n\n    var x = a[0], y = a[1],\n        bx = b[0], by = b[1],\n        px = p[0], py = p[1],\n        dx = bx - x,\n        dy = by - y;\n\n    if (dx !== 0 || dy !== 0) {\n\n        var t = ((px - x) * dx + (py - y) * dy) / (dx * dx + dy * dy);\n\n        if (t > 1) {\n            x = bx;\n            y = by;\n\n        } else if (t > 0) {\n            x += dx * t;\n            y += dy * t;\n        }\n    }\n\n    dx = px - x;\n    dy = py - y;\n\n    return dx * dx + dy * dy;\n}\n\nvar convert_1 = convert$1;\n\nvar simplify = simplify_1;\n\n// converts GeoJSON feature into an intermediate projected JSON vector format with simplification data\n\nfunction convert$1(data, tolerance) {\n    var features = [];\n\n    if (data.type === 'FeatureCollection') {\n        for (var i = 0; i < data.features.length; i++) {\n            convertFeature(features, data.features[i], tolerance);\n        }\n    } else if (data.type === 'Feature') {\n        convertFeature(features, data, tolerance);\n\n    } else {\n        // single geometry or a geometry collection\n        convertFeature(features, {geometry: data}, tolerance);\n    }\n    return features;\n}\n\nfunction convertFeature(features, feature, tolerance) {\n    if (feature.geometry === null) {\n        // ignore features with null geometry\n        return;\n    }\n\n    var geom = feature.geometry,\n        type = geom.type,\n        coords = geom.coordinates,\n        tags = feature.properties,\n        i, j, rings, projectedRing;\n\n    if (type === 'Point') {\n        features.push(create(tags, 1, [projectPoint(coords)]));\n\n    } else if (type === 'MultiPoint') {\n        features.push(create(tags, 1, project(coords)));\n\n    } else if (type === 'LineString') {\n        features.push(create(tags, 2, [project(coords, tolerance)]));\n\n    } else if (type === 'MultiLineString' || type === 'Polygon') {\n        rings = [];\n        for (i = 0; i < coords.length; i++) {\n            projectedRing = project(coords[i], tolerance);\n            if (type === 'Polygon') { projectedRing.outer = (i === 0); }\n            rings.push(projectedRing);\n        }\n        features.push(create(tags, type === 'Polygon' ? 3 : 2, rings));\n\n    } else if (type === 'MultiPolygon') {\n        rings = [];\n        for (i = 0; i < coords.length; i++) {\n            for (j = 0; j < coords[i].length; j++) {\n                projectedRing = project(coords[i][j], tolerance);\n                projectedRing.outer = (j === 0);\n                rings.push(projectedRing);\n            }\n        }\n        features.push(create(tags, 3, rings));\n\n    } else if (type === 'GeometryCollection') {\n        for (i = 0; i < geom.geometries.length; i++) {\n            convertFeature(features, {\n                geometry: geom.geometries[i],\n                properties: tags\n            }, tolerance);\n        }\n\n    } else {\n        throw new Error('Input data is not a valid GeoJSON object.');\n    }\n}\n\nfunction create(tags, type, geometry) {\n    var feature = {\n        geometry: geometry,\n        type: type,\n        tags: tags || null,\n        min: [2, 1], // initial bbox values;\n        max: [-1, 0]  // note that coords are usually in [0..1] range\n    };\n    calcBBox(feature);\n    return feature;\n}\n\nfunction project(lonlats, tolerance) {\n    var projected = [];\n    for (var i = 0; i < lonlats.length; i++) {\n        projected.push(projectPoint(lonlats[i]));\n    }\n    if (tolerance) {\n        simplify(projected, tolerance);\n        calcSize(projected);\n    }\n    return projected;\n}\n\nfunction projectPoint(p) {\n    var sin = Math.sin(p[1] * Math.PI / 180),\n        x = (p[0] / 360 + 0.5),\n        y = (0.5 - 0.25 * Math.log((1 + sin) / (1 - sin)) / Math.PI);\n\n    y = y < 0 ? 0 :\n        y > 1 ? 1 : y;\n\n    return [x, y, 0];\n}\n\n// calculate area and length of the poly\nfunction calcSize(points) {\n    var area = 0,\n        dist = 0;\n\n    for (var i = 0, a, b; i < points.length - 1; i++) {\n        a = b || points[i];\n        b = points[i + 1];\n\n        area += a[0] * b[1] - b[0] * a[1];\n\n        // use Manhattan distance instead of Euclidian one to avoid expensive square root computation\n        dist += Math.abs(b[0] - a[0]) + Math.abs(b[1] - a[1]);\n    }\n    points.area = Math.abs(area / 2);\n    points.dist = dist;\n}\n\n// calculate the feature bounding box for faster clipping later\nfunction calcBBox(feature) {\n    var geometry = feature.geometry,\n        min = feature.min,\n        max = feature.max;\n\n    if (feature.type === 1) { calcRingBBox(min, max, geometry); }\n    else { for (var i = 0; i < geometry.length; i++) { calcRingBBox(min, max, geometry[i]); } }\n\n    return feature;\n}\n\nfunction calcRingBBox(min, max, points) {\n    for (var i = 0, p; i < points.length; i++) {\n        p = points[i];\n        min[0] = Math.min(p[0], min[0]);\n        max[0] = Math.max(p[0], max[0]);\n        min[1] = Math.min(p[1], min[1]);\n        max[1] = Math.max(p[1], max[1]);\n    }\n}\n\nvar tile = transformTile;\nvar point = transformPoint;\n\n// Transforms the coordinates of each feature in the given tile from\n// mercator-projected space into (extent x extent) tile space.\nfunction transformTile(tile, extent) {\n    if (tile.transformed) { return tile; }\n\n    var z2 = tile.z2,\n        tx = tile.x,\n        ty = tile.y,\n        i, j, k;\n\n    for (i = 0; i < tile.features.length; i++) {\n        var feature = tile.features[i],\n            geom = feature.geometry,\n            type = feature.type;\n\n        if (type === 1) {\n            for (j = 0; j < geom.length; j++) { geom[j] = transformPoint(geom[j], extent, z2, tx, ty); }\n\n        } else {\n            for (j = 0; j < geom.length; j++) {\n                var ring = geom[j];\n                for (k = 0; k < ring.length; k++) { ring[k] = transformPoint(ring[k], extent, z2, tx, ty); }\n            }\n        }\n    }\n\n    tile.transformed = true;\n\n    return tile;\n}\n\nfunction transformPoint(p, extent, z2, tx, ty) {\n    var x = Math.round(extent * (p[0] * z2 - tx)),\n        y = Math.round(extent * (p[1] * z2 - ty));\n    return [x, y];\n}\n\nvar transform$1 = {\n tile: tile,\n point: point\n};\n\nvar clip_1 = clip$1;\n\n/* clip features between two axis-parallel lines:\n *     |        |\n *  ___|___     |     /\n * /   |   ____|____/\n *     |        |\n */\n\nfunction clip$1(features, scale, k1, k2, axis, intersect, minAll, maxAll) {\n\n    k1 /= scale;\n    k2 /= scale;\n\n    if (minAll >= k1 && maxAll <= k2) { return features; } // trivial accept\n    else if (minAll > k2 || maxAll < k1) { return null; } // trivial reject\n\n    var clipped = [];\n\n    for (var i = 0; i < features.length; i++) {\n\n        var feature = features[i],\n            geometry = feature.geometry,\n            type = feature.type,\n            min, max;\n\n        min = feature.min[axis];\n        max = feature.max[axis];\n\n        if (min >= k1 && max <= k2) { // trivial accept\n            clipped.push(feature);\n            continue;\n        } else if (min > k2 || max < k1) { continue; } // trivial reject\n\n        var slices = type === 1 ?\n                clipPoints(geometry, k1, k2, axis) :\n                clipGeometry(geometry, k1, k2, axis, intersect, type === 3);\n\n        if (slices.length) {\n            // if a feature got clipped, it will likely get clipped on the next zoom level as well,\n            // so there's no need to recalculate bboxes\n            clipped.push({\n                geometry: slices,\n                type: type,\n                tags: features[i].tags || null,\n                min: feature.min,\n                max: feature.max\n            });\n        }\n    }\n\n    return clipped.length ? clipped : null;\n}\n\nfunction clipPoints(geometry, k1, k2, axis) {\n    var slice = [];\n\n    for (var i = 0; i < geometry.length; i++) {\n        var a = geometry[i],\n            ak = a[axis];\n\n        if (ak >= k1 && ak <= k2) { slice.push(a); }\n    }\n    return slice;\n}\n\nfunction clipGeometry(geometry, k1, k2, axis, intersect, closed) {\n\n    var slices = [];\n\n    for (var i = 0; i < geometry.length; i++) {\n\n        var ak = 0,\n            bk = 0,\n            b = null,\n            points = geometry[i],\n            area = points.area,\n            dist = points.dist,\n            outer = points.outer,\n            len = points.length,\n            a, j, last;\n\n        var slice = [];\n\n        for (j = 0; j < len - 1; j++) {\n            a = b || points[j];\n            b = points[j + 1];\n            ak = bk || a[axis];\n            bk = b[axis];\n\n            if (ak < k1) {\n\n                if ((bk > k2)) { // ---|-----|-->\n                    slice.push(intersect(a, b, k1), intersect(a, b, k2));\n                    if (!closed) { slice = newSlice(slices, slice, area, dist, outer); }\n\n                } else if (bk >= k1) { slice.push(intersect(a, b, k1)); } // ---|-->  |\n\n            } else if (ak > k2) {\n\n                if ((bk < k1)) { // <--|-----|---\n                    slice.push(intersect(a, b, k2), intersect(a, b, k1));\n                    if (!closed) { slice = newSlice(slices, slice, area, dist, outer); }\n\n                } else if (bk <= k2) { slice.push(intersect(a, b, k2)); } // |  <--|---\n\n            } else {\n\n                slice.push(a);\n\n                if (bk < k1) { // <--|---  |\n                    slice.push(intersect(a, b, k1));\n                    if (!closed) { slice = newSlice(slices, slice, area, dist, outer); }\n\n                } else if (bk > k2) { // |  ---|-->\n                    slice.push(intersect(a, b, k2));\n                    if (!closed) { slice = newSlice(slices, slice, area, dist, outer); }\n                }\n                // | --> |\n            }\n        }\n\n        // add the last point\n        a = points[len - 1];\n        ak = a[axis];\n        if (ak >= k1 && ak <= k2) { slice.push(a); }\n\n        // close the polygon if its endpoints are not the same after clipping\n\n        last = slice[slice.length - 1];\n        if (closed && last && (slice[0][0] !== last[0] || slice[0][1] !== last[1])) { slice.push(slice[0]); }\n\n        // add the final slice\n        newSlice(slices, slice, area, dist, outer);\n    }\n\n    return slices;\n}\n\nfunction newSlice(slices, slice, area, dist, outer) {\n    if (slice.length) {\n        // we don't recalculate the area/length of the unclipped geometry because the case where it goes\n        // below the visibility threshold as a result of clipping is rare, so we avoid doing unnecessary work\n        slice.area = area;\n        slice.dist = dist;\n        if (outer !== undefined) { slice.outer = outer; }\n\n        slices.push(slice);\n    }\n    return [];\n}\n\nvar clip$2 = clip_1;\n\nvar wrap_1 = wrap$1;\n\nfunction wrap$1(features, buffer, intersectX) {\n    var merged = features,\n        left  = clip$2(features, 1, -1 - buffer, buffer,     0, intersectX, -1, 2), // left world copy\n        right = clip$2(features, 1,  1 - buffer, 2 + buffer, 0, intersectX, -1, 2); // right world copy\n\n    if (left || right) {\n        merged = clip$2(features, 1, -buffer, 1 + buffer, 0, intersectX, -1, 2); // center world copy\n\n        if (left) { merged = shiftFeatureCoords(left, 1).concat(merged); } // merge left into center\n        if (right) { merged = merged.concat(shiftFeatureCoords(right, -1)); } // merge right into center\n    }\n\n    return merged;\n}\n\nfunction shiftFeatureCoords(features, offset) {\n    var newFeatures = [];\n\n    for (var i = 0; i < features.length; i++) {\n        var feature = features[i],\n            type = feature.type;\n\n        var newGeometry;\n\n        if (type === 1) {\n            newGeometry = shiftCoords(feature.geometry, offset);\n        } else {\n            newGeometry = [];\n            for (var j = 0; j < feature.geometry.length; j++) {\n                newGeometry.push(shiftCoords(feature.geometry[j], offset));\n            }\n        }\n\n        newFeatures.push({\n            geometry: newGeometry,\n            type: type,\n            tags: feature.tags,\n            min: [feature.min[0] + offset, feature.min[1]],\n            max: [feature.max[0] + offset, feature.max[1]]\n        });\n    }\n\n    return newFeatures;\n}\n\nfunction shiftCoords(points, offset) {\n    var newPoints = [];\n    newPoints.area = points.area;\n    newPoints.dist = points.dist;\n\n    for (var i = 0; i < points.length; i++) {\n        newPoints.push([points[i][0] + offset, points[i][1], points[i][2]]);\n    }\n    return newPoints;\n}\n\nvar tile$1 = createTile$1;\n\nfunction createTile$1(features, z2, tx, ty, tolerance, noSimplify) {\n    var tile = {\n        features: [],\n        numPoints: 0,\n        numSimplified: 0,\n        numFeatures: 0,\n        source: null,\n        x: tx,\n        y: ty,\n        z2: z2,\n        transformed: false,\n        min: [2, 1],\n        max: [-1, 0]\n    };\n    for (var i = 0; i < features.length; i++) {\n        tile.numFeatures++;\n        addFeature(tile, features[i], tolerance, noSimplify);\n\n        var min = features[i].min,\n            max = features[i].max;\n\n        if (min[0] < tile.min[0]) { tile.min[0] = min[0]; }\n        if (min[1] < tile.min[1]) { tile.min[1] = min[1]; }\n        if (max[0] > tile.max[0]) { tile.max[0] = max[0]; }\n        if (max[1] > tile.max[1]) { tile.max[1] = max[1]; }\n    }\n    return tile;\n}\n\nfunction addFeature(tile, feature, tolerance, noSimplify) {\n\n    var geom = feature.geometry,\n        type = feature.type,\n        simplified = [],\n        sqTolerance = tolerance * tolerance,\n        i, j, ring, p;\n\n    if (type === 1) {\n        for (i = 0; i < geom.length; i++) {\n            simplified.push(geom[i]);\n            tile.numPoints++;\n            tile.numSimplified++;\n        }\n\n    } else {\n\n        // simplify and transform projected coordinates for tile geometry\n        for (i = 0; i < geom.length; i++) {\n            ring = geom[i];\n\n            // filter out tiny polylines & polygons\n            if (!noSimplify && ((type === 2 && ring.dist < tolerance) ||\n                                (type === 3 && ring.area < sqTolerance))) {\n                tile.numPoints += ring.length;\n                continue;\n            }\n\n            var simplifiedRing = [];\n\n            for (j = 0; j < ring.length; j++) {\n                p = ring[j];\n                // keep points with importance > tolerance\n                if (noSimplify || p[2] > sqTolerance) {\n                    simplifiedRing.push(p);\n                    tile.numSimplified++;\n                }\n                tile.numPoints++;\n            }\n\n            if (type === 3) { rewind(simplifiedRing, ring.outer); }\n\n            simplified.push(simplifiedRing);\n        }\n    }\n\n    if (simplified.length) {\n        tile.features.push({\n            geometry: simplified,\n            type: type,\n            tags: feature.tags || null\n        });\n    }\n}\n\nfunction rewind(ring, clockwise) {\n    var area = signedArea(ring);\n    if (area < 0 === clockwise) { ring.reverse(); }\n}\n\nfunction signedArea(ring) {\n    var sum = 0;\n    for (var i = 0, len = ring.length, j = len - 1, p1, p2; i < len; j = i++) {\n        p1 = ring[i];\n        p2 = ring[j];\n        sum += (p2[0] - p1[0]) * (p1[1] + p2[1]);\n    }\n    return sum;\n}\n\nvar index = geojsonvt;\n\nvar convert = convert_1;\nvar transform = transform$1;\nvar clip = clip_1;\nvar wrap = wrap_1;\nvar createTile = tile$1;     // final simplified tile generation\n\n\nfunction geojsonvt(data, options) {\n    return new GeoJSONVT(data, options);\n}\n\nfunction GeoJSONVT(data, options) {\n    options = this.options = extend(Object.create(this.options), options);\n\n    var debug = options.debug;\n\n    if (debug) { console.time('preprocess data'); }\n\n    var z2 = 1 << options.maxZoom, // 2^z\n        features = convert(data, options.tolerance / (z2 * options.extent));\n\n    this.tiles = {};\n    this.tileCoords = [];\n\n    if (debug) {\n        console.timeEnd('preprocess data');\n        console.log('index: maxZoom: %d, maxPoints: %d', options.indexMaxZoom, options.indexMaxPoints);\n        console.time('generate tiles');\n        this.stats = {};\n        this.total = 0;\n    }\n\n    features = wrap(features, options.buffer / options.extent, intersectX);\n\n    // start slicing from the top tile down\n    if (features.length) { this.splitTile(features, 0, 0, 0); }\n\n    if (debug) {\n        if (features.length) { console.log('features: %d, points: %d', this.tiles[0].numFeatures, this.tiles[0].numPoints); }\n        console.timeEnd('generate tiles');\n        console.log('tiles generated:', this.total, JSON.stringify(this.stats));\n    }\n}\n\nGeoJSONVT.prototype.options = {\n    maxZoom: 14,            // max zoom to preserve detail on\n    indexMaxZoom: 5,        // max zoom in the tile index\n    indexMaxPoints: 100000, // max number of points per tile in the tile index\n    solidChildren: false,   // whether to tile solid square tiles further\n    tolerance: 3,           // simplification tolerance (higher means simpler)\n    extent: 4096,           // tile extent\n    buffer: 64,             // tile buffer on each side\n    debug: 0                // logging level (0, 1 or 2)\n};\n\nGeoJSONVT.prototype.splitTile = function (features, z, x, y, cz, cx, cy) {\n    var this$1 = this;\n\n\n    var stack = [features, z, x, y],\n        options = this.options,\n        debug = options.debug,\n        solid = null;\n\n    // avoid recursion by using a processing queue\n    while (stack.length) {\n        y = stack.pop();\n        x = stack.pop();\n        z = stack.pop();\n        features = stack.pop();\n\n        var z2 = 1 << z,\n            id = toID(z, x, y),\n            tile = this$1.tiles[id],\n            tileTolerance = z === options.maxZoom ? 0 : options.tolerance / (z2 * options.extent);\n\n        if (!tile) {\n            if (debug > 1) { console.time('creation'); }\n\n            tile = this$1.tiles[id] = createTile(features, z2, x, y, tileTolerance, z === options.maxZoom);\n            this$1.tileCoords.push({z: z, x: x, y: y});\n\n            if (debug) {\n                if (debug > 1) {\n                    console.log('tile z%d-%d-%d (features: %d, points: %d, simplified: %d)',\n                        z, x, y, tile.numFeatures, tile.numPoints, tile.numSimplified);\n                    console.timeEnd('creation');\n                }\n                var key = 'z' + z;\n                this$1.stats[key] = (this$1.stats[key] || 0) + 1;\n                this$1.total++;\n            }\n        }\n\n        // save reference to original geometry in tile so that we can drill down later if we stop now\n        tile.source = features;\n\n        // if it's the first-pass tiling\n        if (!cz) {\n            // stop tiling if we reached max zoom, or if the tile is too simple\n            if (z === options.indexMaxZoom || tile.numPoints <= options.indexMaxPoints) { continue; }\n\n        // if a drilldown to a specific tile\n        } else {\n            // stop tiling if we reached base zoom or our target tile zoom\n            if (z === options.maxZoom || z === cz) { continue; }\n\n            // stop tiling if it's not an ancestor of the target tile\n            var m = 1 << (cz - z);\n            if (x !== Math.floor(cx / m) || y !== Math.floor(cy / m)) { continue; }\n        }\n\n        // stop tiling if the tile is solid clipped square\n        if (!options.solidChildren && isClippedSquare(tile, options.extent, options.buffer)) {\n            if (cz) { solid = z; } // and remember the zoom if we're drilling down\n            continue;\n        }\n\n        // if we slice further down, no need to keep source geometry\n        tile.source = null;\n\n        if (debug > 1) { console.time('clipping'); }\n\n        // values we'll use for clipping\n        var k1 = 0.5 * options.buffer / options.extent,\n            k2 = 0.5 - k1,\n            k3 = 0.5 + k1,\n            k4 = 1 + k1,\n            tl, bl, tr, br, left, right;\n\n        tl = bl = tr = br = null;\n\n        left  = clip(features, z2, x - k1, x + k3, 0, intersectX, tile.min[0], tile.max[0]);\n        right = clip(features, z2, x + k2, x + k4, 0, intersectX, tile.min[0], tile.max[0]);\n\n        if (left) {\n            tl = clip(left, z2, y - k1, y + k3, 1, intersectY, tile.min[1], tile.max[1]);\n            bl = clip(left, z2, y + k2, y + k4, 1, intersectY, tile.min[1], tile.max[1]);\n        }\n\n        if (right) {\n            tr = clip(right, z2, y - k1, y + k3, 1, intersectY, tile.min[1], tile.max[1]);\n            br = clip(right, z2, y + k2, y + k4, 1, intersectY, tile.min[1], tile.max[1]);\n        }\n\n        if (debug > 1) { console.timeEnd('clipping'); }\n\n        if (tl) { stack.push(tl, z + 1, x * 2,     y * 2); }\n        if (bl) { stack.push(bl, z + 1, x * 2,     y * 2 + 1); }\n        if (tr) { stack.push(tr, z + 1, x * 2 + 1, y * 2); }\n        if (br) { stack.push(br, z + 1, x * 2 + 1, y * 2 + 1); }\n    }\n\n    return solid;\n};\n\nGeoJSONVT.prototype.getTile = function (z, x, y) {\n    var this$1 = this;\n\n    var options = this.options,\n        extent = options.extent,\n        debug = options.debug;\n\n    var z2 = 1 << z;\n    x = ((x % z2) + z2) % z2; // wrap tile x coordinate\n\n    var id = toID(z, x, y);\n    if (this.tiles[id]) { return transform.tile(this.tiles[id], extent); }\n\n    if (debug > 1) { console.log('drilling down to z%d-%d-%d', z, x, y); }\n\n    var z0 = z,\n        x0 = x,\n        y0 = y,\n        parent;\n\n    while (!parent && z0 > 0) {\n        z0--;\n        x0 = Math.floor(x0 / 2);\n        y0 = Math.floor(y0 / 2);\n        parent = this$1.tiles[toID(z0, x0, y0)];\n    }\n\n    if (!parent || !parent.source) { return null; }\n\n    // if we found a parent tile containing the original geometry, we can drill down from it\n    if (debug > 1) { console.log('found parent tile z%d-%d-%d', z0, x0, y0); }\n\n    // it parent tile is a solid clipped square, return it instead since it's identical\n    if (isClippedSquare(parent, extent, options.buffer)) { return transform.tile(parent, extent); }\n\n    if (debug > 1) { console.time('drilling down'); }\n    var solid = this.splitTile(parent.source, z0, x0, y0, z, x, y);\n    if (debug > 1) { console.timeEnd('drilling down'); }\n\n    // one of the parent tiles was a solid clipped square\n    if (solid !== null) {\n        var m = 1 << (z - solid);\n        id = toID(solid, Math.floor(x / m), Math.floor(y / m));\n    }\n\n    return this.tiles[id] ? transform.tile(this.tiles[id], extent) : null;\n};\n\nfunction toID(z, x, y) {\n    return (((1 << z) * y + x) * 32) + z;\n}\n\nfunction intersectX(a, b, x) {\n    return [x, (x - a[0]) * (b[1] - a[1]) / (b[0] - a[0]) + a[1], 1];\n}\nfunction intersectY(a, b, y) {\n    return [(y - a[1]) * (b[0] - a[0]) / (b[1] - a[1]) + a[0], y, 1];\n}\n\nfunction extend(dest, src) {\n    for (var i in src) { dest[i] = src[i]; }\n    return dest;\n}\n\n// checks whether a tile is a whole-area fill after clipping; if it is, there's no sense slicing it further\nfunction isClippedSquare(tile, extent, buffer) {\n\n    var features = tile.source;\n    if (features.length !== 1) { return false; }\n\n    var feature = features[0];\n    if (feature.type !== 3 || feature.geometry.length > 1) { return false; }\n\n    var len = feature.geometry[0].length;\n    if (len !== 5) { return false; }\n\n    for (var i = 0; i < len; i++) {\n        var p = transform.point(feature.geometry[0][i], extent, tile.z2, tile.x, tile.y);\n        if ((p[0] !== -buffer && p[0] !== extent + buffer) ||\n            (p[1] !== -buffer && p[1] !== extent + buffer)) { return false; }\n    }\n\n    return true;\n}\n\nvar identity = function(x) {\n  return x;\n};\n\nvar transform$3 = function(topology) {\n  if ((transform = topology.transform) == null) { return identity; }\n  var transform,\n      x0,\n      y0,\n      kx = transform.scale[0],\n      ky = transform.scale[1],\n      dx = transform.translate[0],\n      dy = transform.translate[1];\n  return function(point, i) {\n    if (!i) { x0 = y0 = 0; }\n    point[0] = (x0 += point[0]) * kx + dx;\n    point[1] = (y0 += point[1]) * ky + dy;\n    return point;\n  };\n};\n\nvar bbox = function(topology) {\n  var bbox = topology.bbox;\n\n  function bboxPoint(p0) {\n    p1[0] = p0[0], p1[1] = p0[1], t(p1);\n    if (p1[0] < x0) { x0 = p1[0]; }\n    if (p1[0] > x1) { x1 = p1[0]; }\n    if (p1[1] < y0) { y0 = p1[1]; }\n    if (p1[1] > y1) { y1 = p1[1]; }\n  }\n\n  function bboxGeometry(o) {\n    switch (o.type) {\n      case \"GeometryCollection\": o.geometries.forEach(bboxGeometry); break;\n      case \"Point\": bboxPoint(o.coordinates); break;\n      case \"MultiPoint\": o.coordinates.forEach(bboxPoint); break;\n    }\n  }\n\n  if (!bbox) {\n    var t = transform$3(topology), p0, p1 = new Array(2), name,\n        x0 = Infinity, y0 = x0, x1 = -x0, y1 = -x0;\n\n    topology.arcs.forEach(function(arc) {\n      var i = -1, n = arc.length;\n      while (++i < n) {\n        p0 = arc[i], p1[0] = p0[0], p1[1] = p0[1], t(p1, i);\n        if (p1[0] < x0) { x0 = p1[0]; }\n        if (p1[0] > x1) { x1 = p1[0]; }\n        if (p1[1] < y0) { y0 = p1[1]; }\n        if (p1[1] > y1) { y1 = p1[1]; }\n      }\n    });\n\n    for (name in topology.objects) {\n      bboxGeometry(topology.objects[name]);\n    }\n\n    bbox = topology.bbox = [x0, y0, x1, y1];\n  }\n\n  return bbox;\n};\n\nvar reverse = function(array, n) {\n  var t, j = array.length, i = j - n;\n  while (i < --j) { t = array[i], array[i++] = array[j], array[j] = t; }\n};\n\nvar feature = function(topology, o) {\n  return o.type === \"GeometryCollection\"\n      ? {type: \"FeatureCollection\", features: o.geometries.map(function(o) { return feature$1(topology, o); })}\n      : feature$1(topology, o);\n};\n\nfunction feature$1(topology, o) {\n  var id = o.id,\n      bbox = o.bbox,\n      properties = o.properties == null ? {} : o.properties,\n      geometry = object(topology, o);\n  return id == null && bbox == null ? {type: \"Feature\", properties: properties, geometry: geometry}\n      : bbox == null ? {type: \"Feature\", id: id, properties: properties, geometry: geometry}\n      : {type: \"Feature\", id: id, bbox: bbox, properties: properties, geometry: geometry};\n}\n\nfunction object(topology, o) {\n  var transformPoint = transform$3(topology),\n      arcs = topology.arcs;\n\n  function arc(i, points) {\n    if (points.length) { points.pop(); }\n    for (var a = arcs[i < 0 ? ~i : i], k = 0, n = a.length; k < n; ++k) {\n      points.push(transformPoint(a[k].slice(), k));\n    }\n    if (i < 0) { reverse(points, n); }\n  }\n\n  function point(p) {\n    return transformPoint(p.slice());\n  }\n\n  function line(arcs) {\n    var points = [];\n    for (var i = 0, n = arcs.length; i < n; ++i) { arc(arcs[i], points); }\n    if (points.length < 2) { points.push(points[0].slice()); }\n    return points;\n  }\n\n  function ring(arcs) {\n    var points = line(arcs);\n    while (points.length < 4) { points.push(points[0].slice()); }\n    return points;\n  }\n\n  function polygon(arcs) {\n    return arcs.map(ring);\n  }\n\n  function geometry(o) {\n    var type = o.type, coordinates;\n    switch (type) {\n      case \"GeometryCollection\": return {type: type, geometries: o.geometries.map(geometry)};\n      case \"Point\": coordinates = point(o.coordinates); break;\n      case \"MultiPoint\": coordinates = o.coordinates.map(point); break;\n      case \"LineString\": coordinates = line(o.arcs); break;\n      case \"MultiLineString\": coordinates = o.arcs.map(line); break;\n      case \"Polygon\": coordinates = polygon(o.arcs); break;\n      case \"MultiPolygon\": coordinates = o.arcs.map(polygon); break;\n      default: return null;\n    }\n    return {type: type, coordinates: coordinates};\n  }\n\n  return geometry(o);\n}\n\nvar stitch = function(topology, arcs) {\n  var stitchedArcs = {},\n      fragmentByStart = {},\n      fragmentByEnd = {},\n      fragments = [],\n      emptyIndex = -1;\n\n  // Stitch empty arcs first, since they may be subsumed by other arcs.\n  arcs.forEach(function(i, j) {\n    var arc = topology.arcs[i < 0 ? ~i : i], t;\n    if (arc.length < 3 && !arc[1][0] && !arc[1][1]) {\n      t = arcs[++emptyIndex], arcs[emptyIndex] = i, arcs[j] = t;\n    }\n  });\n\n  arcs.forEach(function(i) {\n    var e = ends(i),\n        start = e[0],\n        end = e[1],\n        f, g;\n\n    if (f = fragmentByEnd[start]) {\n      delete fragmentByEnd[f.end];\n      f.push(i);\n      f.end = end;\n      if (g = fragmentByStart[end]) {\n        delete fragmentByStart[g.start];\n        var fg = g === f ? f : f.concat(g);\n        fragmentByStart[fg.start = f.start] = fragmentByEnd[fg.end = g.end] = fg;\n      } else {\n        fragmentByStart[f.start] = fragmentByEnd[f.end] = f;\n      }\n    } else if (f = fragmentByStart[end]) {\n      delete fragmentByStart[f.start];\n      f.unshift(i);\n      f.start = start;\n      if (g = fragmentByEnd[start]) {\n        delete fragmentByEnd[g.end];\n        var gf = g === f ? f : g.concat(f);\n        fragmentByStart[gf.start = g.start] = fragmentByEnd[gf.end = f.end] = gf;\n      } else {\n        fragmentByStart[f.start] = fragmentByEnd[f.end] = f;\n      }\n    } else {\n      f = [i];\n      fragmentByStart[f.start = start] = fragmentByEnd[f.end = end] = f;\n    }\n  });\n\n  function ends(i) {\n    var arc = topology.arcs[i < 0 ? ~i : i], p0 = arc[0], p1;\n    if (topology.transform) { p1 = [0, 0], arc.forEach(function(dp) { p1[0] += dp[0], p1[1] += dp[1]; }); }\n    else { p1 = arc[arc.length - 1]; }\n    return i < 0 ? [p1, p0] : [p0, p1];\n  }\n\n  function flush(fragmentByEnd, fragmentByStart) {\n    for (var k in fragmentByEnd) {\n      var f = fragmentByEnd[k];\n      delete fragmentByStart[f.start];\n      delete f.start;\n      delete f.end;\n      f.forEach(function(i) { stitchedArcs[i < 0 ? ~i : i] = 1; });\n      fragments.push(f);\n    }\n  }\n\n  flush(fragmentByEnd, fragmentByStart);\n  flush(fragmentByStart, fragmentByEnd);\n  arcs.forEach(function(i) { if (!stitchedArcs[i < 0 ? ~i : i]) { fragments.push([i]); } });\n\n  return fragments;\n};\n\nfunction extractArcs(topology, object$$1, filter) {\n  var arcs = [],\n      geomsByArc = [],\n      geom;\n\n  function extract0(i) {\n    var j = i < 0 ? ~i : i;\n    (geomsByArc[j] || (geomsByArc[j] = [])).push({i: i, g: geom});\n  }\n\n  function extract1(arcs) {\n    arcs.forEach(extract0);\n  }\n\n  function extract2(arcs) {\n    arcs.forEach(extract1);\n  }\n\n  function extract3(arcs) {\n    arcs.forEach(extract2);\n  }\n\n  function geometry(o) {\n    switch (geom = o, o.type) {\n      case \"GeometryCollection\": o.geometries.forEach(geometry); break;\n      case \"LineString\": extract1(o.arcs); break;\n      case \"MultiLineString\": case \"Polygon\": extract2(o.arcs); break;\n      case \"MultiPolygon\": extract3(o.arcs); break;\n    }\n  }\n\n  geometry(object$$1);\n\n  geomsByArc.forEach(filter == null\n      ? function(geoms) { arcs.push(geoms[0].i); }\n      : function(geoms) { if (filter(geoms[0].g, geoms[geoms.length - 1].g)) { arcs.push(geoms[0].i); } });\n\n  return arcs;\n}\n\nfunction planarRingArea(ring) {\n  var i = -1, n = ring.length, a, b = ring[n - 1], area = 0;\n  while (++i < n) { a = b, b = ring[i], area += a[0] * b[1] - a[1] * b[0]; }\n  return Math.abs(area); // Note: doubled area!\n}\n\nvar bisect = function(a, x) {\n  var lo = 0, hi = a.length;\n  while (lo < hi) {\n    var mid = lo + hi >>> 1;\n    if (a[mid] < x) { lo = mid + 1; }\n    else { hi = mid; }\n  }\n  return lo;\n};\n\nvar slicers = {};\nvar options;\n\nonmessage = function (e) {\n if (e.data[0] === 'slice') {\n // Given a blob of GeoJSON and some topojson/geojson-vt options, do the slicing.\n var geojson = e.data[1];\n options     = e.data[2];\n\n if (geojson.type && geojson.type === 'Topology') {\n for (var layerName in geojson.objects) {\n slicers[layerName] = index(\n feature(geojson, geojson.objects[layerName])\n , options);\n }\n } else {\n slicers[options.vectorTileLayerName] = index(geojson, options);\n }\n\n } else if (e.data[0] === 'get') {\n // Gets the vector tile for the given coordinates, sends it back as a message\n var coords = e.data[1];\n\n var tileLayers = {};\n for (var layerName in slicers) {\n var slicedTileLayer = slicers[layerName].getTile(coords.z, coords.x, coords.y);\n\n if (slicedTileLayer) {\n var vectorTileLayer = {\n features: [],\n extent: options.extent,\n name: options.vectorTileLayerName,\n length: slicedTileLayer.features.length\n };\n\n for (var i in slicedTileLayer.features) {\n var feat = {\n geometry: slicedTileLayer.features[i].geometry,\n properties: slicedTileLayer.features[i].tags,\n type: slicedTileLayer.features[i].type // 1 = point, 2 = line, 3 = polygon\n };\n vectorTileLayer.features.push(feat);\n }\n tileLayers[layerName] = vectorTileLayer;\n }\n }\n postMessage({ layers: tileLayers, coords: coords });\n }\n};\n//# sourceMappingURL=slicerWebWorker.js.worker.map\n","text/plain; charset=us-ascii",!1);L.VectorGrid.Slicer=L.VectorGrid.extend({options:{vectorTileLayerName:"sliced",extent:4096,maxZoom:14},initialize:function(n,t){var t,i;L.VectorGrid.prototype.initialize.call(this,t);t={};for(i in this.options)i!=="rendererFactory"&&i!=="vectorTileLayerStyles"&&typeof this.options[i]!="function"&&(t[i]=this.options[i]);this._worker=new Worker(rt);this._worker.postMessage(["slice",n,t])},_getVectorTilePromise:function(n){var t=this,i=new Promise(function(i){t._worker.addEventListener("message",function r(u){u.data.coords&&u.data.coords.x===n.x&&u.data.coords.y===n.y&&u.data.coords.z===n.z&&(i(u.data),t._worker.removeEventListener("message",r))})});return this._worker.postMessage(["get",n]),i}});L.vectorGrid.slicer=function(n,t){return new L.VectorGrid.Slicer(n,t)};L.Canvas.Tile=L.Canvas.extend({initialize:function(n,t,i){L.Canvas.prototype.initialize.call(this,i);this._tileCoord=n;this._size=t;this._initContainer();this._container.setAttribute("width",this._size.x);this._container.setAttribute("height",this._size.y);this._layers={};this._drawnLayers={};this._drawing=!0;i.interactive&&(this._container.style.pointerEvents="auto")},getCoord:function(){return this._tileCoord},getContainer:function(){return this._container},getOffset:function(){return this._tileCoord.scaleBy(this._size).subtract(this._map.getPixelOrigin())},onAdd:L.Util.falseFn,addTo:function(n){this._map=n},removeFrom:function(){delete this._map},_onClick:function(n){var u=this._map.mouseEventToLayerPoint(n).subtract(this.getOffset()),t,i,r;for(r in this._layers)t=this._layers[r],t.options.interactive&&t._containsPoint(u)&&!this._map._draggableMoved(t)&&(i=t);i&&(L.DomEvent.fakeStop(n),this._fireEvent([i],n))},_onMouseMove:function(n){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var t=this._map.mouseEventToLayerPoint(n).subtract(this.getOffset());this._handleMouseHover(n,t)}},_updateIcon:function(n){if(this._drawing){var e=n.options.icon,u=e.options,t=L.point(u.iconSize),o=u.iconAnchor||t&&t.divideBy(2,!0),i=n._point.subtract(o),f=this._ctx,r=n._getImage();if(r.complete)f.drawImage(r,i.x,i.y,t.x,t.y);else L.DomEvent.on(r,"load",function(){f.drawImage(r,i.x,i.y,t.x,t.y)});this._drawnLayers[n._leaflet_id]=n}}});L.canvas.tile=function(n,t,i){return new L.Canvas.Tile(n,t,i)}}()