function modalTabLoop(n){var e=$(".open-modal"),o=$(".map__menu__toggle-visibility-btn"),t=$("body");e.on("click",function(){t.toggleClass("searchOpen");$(this).addClass("active-modal")});o.on("click",function(){t.removeClass("searchOpen");$(".active-modal").focus();$(".active-modal").removeClass("active-modal")});const i='button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])',r=document.querySelector(n),u=r.querySelectorAll(i)[0],f=r.querySelectorAll(i),s=f[f.length-1];document.addEventListener("keydown",function(n){let i=n.key==="Tab"||n.key==="Shift";if(!i){n.key==="Escape"&&t.hasClass("searchOpen")&&(t.removeClass("searchOpen"),$(".active-modal").focus(),$(".active-modal").removeClass("active-modal"));return}n.shiftKey?document.activeElement===u&&n.preventDefault():document.activeElement===s&&(u.focus(),n.preventDefault())})}if(!function(n,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=n.document?t(n,!0):function(n){if(!n.document)throw new Error("jQuery requires a window with a document");return t(n)}:t(n)}("undefined"!=typeof window?window:this,function(n,t){function ii(n){var t=!!n&&"length"in n&&n.length,r=i.type(n);return"function"===r||i.isWindow(n)?!1:"array"===r||0===t||"number"==typeof t&&t>0&&t-1 in n}function ri(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(bf.test(t))return i.filter(t,n,r);t=i.filter(t,n)}return i.grep(n,function(n){return lt.call(t,n)>-1!==r})}function hr(n,t){while((n=n[t])&&1!==n.nodeType);return n}function kf(n){var t={};return i.each(n.match(h)||[],function(n,i){t[i]=!0}),t}function yt(){u.removeEventListener("DOMContentLoaded",yt);n.removeEventListener("load",yt);i.ready()}function et(){this.expando=i.expando+et.uid++}function lr(n,t,r){var u;if(void 0===r&&1===n.nodeType)if(u="data-"+t.replace(cr,"-$&").toLowerCase(),r=n.getAttribute(u),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:df.test(r)?i.parseJSON(r):r}catch(f){}e.set(n,t,r)}else r=void 0;return r}function vr(n,t,r,u){var h,e=1,l=20,c=u?function(){return u.cur()}:function(){return i.css(n,t,"")},s=c(),o=r&&r[3]||(i.cssNumber[t]?"":"px"),f=(i.cssNumber[t]||"px"!==o&&+s)&&ot.exec(i.css(n,t));if(f&&f[3]!==o){o=o||f[3];r=r||[];f=+s||1;do e=e||".5",f/=e,i.style(n,t,f+o);while(e!==(e=c()/s)&&1!==e&&--l)}return r&&(f=+f||+s||0,h=r[1]?f+(r[1]+1)*r[2]:+r[2],u&&(u.unit=o,u.start=f,u.end=h)),h}function o(n,t){var r="undefined"!=typeof n.getElementsByTagName?n.getElementsByTagName(t||"*"):"undefined"!=typeof n.querySelectorAll?n.querySelectorAll(t||"*"):[];return void 0===t||t&&i.nodeName(n,t)?i.merge([n],r):r}function ui(n,t){for(var i=0,u=n.length;u>i;i++)r.set(n[i],"globalEval",!t||r.get(t[i],"globalEval"))}function kr(n,t,r,u,f){for(var e,s,p,a,w,v,h=t.createDocumentFragment(),y=[],l=0,b=n.length;b>l;l++)if(e=n[l],e||0===e)if("object"===i.type(e))i.merge(y,e.nodeType?[e]:e);else if(br.test(e)){for(s=s||h.appendChild(t.createElement("div")),p=(pr.exec(e)||["",""])[1].toLowerCase(),a=c[p]||c._default,s.innerHTML=a[1]+i.htmlPrefilter(e)+a[2],v=a[0];v--;)s=s.lastChild;i.merge(y,s.childNodes);s=h.firstChild;s.textContent=""}else y.push(t.createTextNode(e));for(h.textContent="",l=0;e=y[l++];)if(u&&i.inArray(e,u)>-1)f&&f.push(e);else if(w=i.contains(e.ownerDocument,e),s=o(h.appendChild(e),"script"),w&&ui(s),r)for(v=0;e=s[v++];)wr.test(e.type||"")&&r.push(e);return h}function pt(){return!0}function nt(){return!1}function gr(){try{return u.activeElement}catch(n){}}function fi(n,t,r,u,f,e){var o,s;if("object"==typeof t){"string"!=typeof r&&(u=u||r,r=void 0);for(s in t)fi(n,s,r,u,t[s],e);return n}if(null==u&&null==f?(f=r,u=r=void 0):null==f&&("string"==typeof r?(f=u,u=void 0):(f=u,u=r,r=void 0)),f===!1)f=nt;else if(!f)return n;return 1===e&&(o=f,f=function(n){return i().off(n),o.apply(this,arguments)},f.guid=o.guid||(o.guid=i.guid++)),n.each(function(){i.event.add(this,t,f,u,r)})}function nu(n,t){return i.nodeName(n,"table")&&i.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?n.getElementsByTagName("tbody")[0]||n.appendChild(n.ownerDocument.createElement("tbody")):n}function ee(n){return n.type=(null!==n.getAttribute("type"))+"/"+n.type,n}function oe(n){var t=ue.exec(n.type);return t?n.type=t[1]:n.removeAttribute("type"),n}function tu(n,t){var u,c,f,s,h,l,a,o;if(1===t.nodeType){if(r.hasData(n)&&(s=r.access(n),h=r.set(t,s),o=s.events)){delete h.handle;h.events={};for(f in o)for(u=0,c=o[f].length;c>u;u++)i.event.add(t,f,o[f][u])}e.hasData(n)&&(l=e.access(n),a=i.extend({},l),e.set(t,a))}}function se(n,t){var i=t.nodeName.toLowerCase();"input"===i&&yr.test(n.type)?t.checked=n.checked:"input"!==i&&"textarea"!==i||(t.defaultValue=n.defaultValue)}function b(n,t,u,e){t=gi.apply([],t);var l,p,c,a,s,w,h=0,v=n.length,d=v-1,y=t[0],k=i.isFunction(y);if(k||v>1&&"string"==typeof y&&!f.checkClone&&re.test(y))return n.each(function(i){var r=n.eq(i);k&&(t[0]=y.call(this,i,r.html()));b(r,t,u,e)});if(v&&(l=kr(t,n[0].ownerDocument,!1,n,e),p=l.firstChild,1===l.childNodes.length&&(l=p),p||e)){for(c=i.map(o(l,"script"),ee),a=c.length;v>h;h++)s=l,h!==d&&(s=i.clone(s,!0,!0),a&&i.merge(c,o(s,"script"))),u.call(n[h],s,h);if(a)for(w=c[c.length-1].ownerDocument,i.map(c,oe),h=0;a>h;h++)s=c[h],wr.test(s.type||"")&&!r.access(s,"globalEval")&&i.contains(w,s)&&(s.src?i._evalUrl&&i._evalUrl(s.src):i.globalEval(s.textContent.replace(fe,"")))}return n}function iu(n,t,r){for(var u,e=t?i.filter(t,n):n,f=0;null!=(u=e[f]);f++)r||1!==u.nodeType||i.cleanData(o(u)),u.parentNode&&(r&&i.contains(u.ownerDocument,u)&&ui(o(u,"script")),u.parentNode.removeChild(u));return n}function ru(n,t){var r=i(t.createElement(n)).appendTo(t.body),u=i.css(r[0],"display");return r.detach(),u}function oi(n){var r=u,t=ei[n];return t||(t=ru(n,r),"none"!==t&&t||(wt=(wt||i("<iframe frameborder='0' width='0' height='0'/>")).appendTo(r.documentElement),r=wt[0].contentDocument,r.write(),r.close(),t=ru(n,r),wt.detach()),ei[n]=t),t}function tt(n,t,r){var o,s,h,u,e=n.style;return r=r||bt(n),u=r?r.getPropertyValue(t)||r[t]:void 0,""!==u&&void 0!==u||i.contains(n.ownerDocument,n)||(u=i.style(n,t)),r&&!f.pixelMarginRight()&&si.test(u)&&uu.test(t)&&(o=e.width,s=e.minWidth,h=e.maxWidth,e.minWidth=e.maxWidth=e.width=u,u=r.width,e.width=o,e.minWidth=s,e.maxWidth=h),void 0!==u?u+"":u}function ci(n,t){return{get:function(){return n()?void delete this.get:(this.get=t).apply(this,arguments)}}}function su(n){if(n in ou)return n;for(var i=n[0].toUpperCase()+n.slice(1),t=eu.length;t--;)if(n=eu[t]+i,n in ou)return n}function hu(n,t,i){var r=ot.exec(t);return r?Math.max(0,r[2]-(i||0))+(r[3]||"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+w[e],!0,f)),u?("content"===r&&(o-=i.css(n,"padding"+w[e],!0,f)),"margin"!==r&&(o-=i.css(n,"border"+w[e]+"Width",!0,f))):(o+=i.css(n,"padding"+w[e],!0,f),"padding"!==r&&(o+=i.css(n,"border"+w[e]+"Width",!0,f)));return o}function lu(n,t,r){var o=!0,u="width"===t?n.offsetWidth:n.offsetHeight,e=bt(n),s="border-box"===i.css(n,"boxSizing",!1,e);if(0>=u||null==u){if(u=tt(n,t,e),(0>u||null==u)&&(u=n.style[t]),si.test(u))return u;o=s&&(f.boxSizingReliable()||u===n.style[t]);u=parseFloat(u)||0}return u+cu(n,t,r||(s?"border":"content"),o,e)+"px"}function au(n,t){for(var e,u,s,o=[],f=0,h=n.length;h>f;f++)u=n[f],u.style&&(o[f]=r.get(u,"olddisplay"),e=u.style.display,t?(o[f]||"none"!==e||(u.style.display=""),""===u.style.display&&st(u)&&(o[f]=r.access(u,"olddisplay",oi(u.nodeName)))):(s=st(u),"none"===e&&s||r.set(u,"olddisplay",s?e:i.css(u,"display"))));for(f=0;h>f;f++)u=n[f],u.style&&(t&&"none"!==u.style.display&&""!==u.style.display||(u.style.display=t?o[f]||"":"none"));return n}function s(n,t,i,r,u){return new s.prototype.init(n,t,i,r,u)}function pu(){return n.setTimeout(function(){it=void 0}),it=i.now()}function dt(n,t){var r,u=0,i={height:n};for(t=t?1:0;4>u;u+=2-t)r=w[u],i["margin"+r]=i["padding"+r]=n;return t&&(i.opacity=i.width=n),i}function wu(n,t,i){for(var u,f=(l.tweeners[t]||[]).concat(l.tweeners["*"]),r=0,e=f.length;e>r;r++)if(u=f[r].call(i,t,n))return u}function le(n,t,u){var f,a,p,v,o,w,h,b,l=this,y={},s=n.style,c=n.nodeType&&st(n),e=r.get(n,"fxshow");u.queue||(o=i._queueHooks(n,"fx"),null==o.unqueued&&(o.unqueued=0,w=o.empty.fire,o.empty.fire=function(){o.unqueued||w()}),o.unqueued++,l.always(function(){l.always(function(){o.unqueued--;i.queue(n,"fx").length||o.empty.fire()})}));1===n.nodeType&&("height"in t||"width"in t)&&(u.overflow=[s.overflow,s.overflowX,s.overflowY],h=i.css(n,"display"),b="none"===h?r.get(n,"olddisplay")||oi(n.nodeName):h,"inline"===b&&"none"===i.css(n,"float")&&(s.display="inline-block"));u.overflow&&(s.overflow="hidden",l.always(function(){s.overflow=u.overflow[0];s.overflowX=u.overflow[1];s.overflowY=u.overflow[2]}));for(f in t)if(a=t[f],vu.exec(a)){if(delete t[f],p=p||"toggle"===a,a===(c?"hide":"show")){if("show"!==a||!e||void 0===e[f])continue;c=!0}y[f]=e&&e[f]||i.style(n,f)}else h=void 0;if(i.isEmptyObject(y))"inline"===("none"===h?oi(n.nodeName):h)&&(s.display=h);else{e?"hidden"in e&&(c=e.hidden):e=r.access(n,"fxshow",{});p&&(e.hidden=!c);c?i(n).show():l.done(function(){i(n).hide()});l.done(function(){var t;r.remove(n,"fxshow");for(t in y)i.style(n,t,y[t])});for(f in y)v=wu(c?e[f]:0,f,l),f in e||(e[f]=v.start,c&&(v.end=v.start,v.start="width"===f||"height"===f?1:0))}}function ae(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 l(n,t,r){var e,o,s=0,a=l.prefilters.length,f=i.Deferred().always(function(){delete c.elem}),c=function(){if(o)return!1;for(var s=it||pu(),t=Math.max(0,u.startTime+u.duration-s),h=t/u.duration||0,i=1-h,r=0,e=u.tweens.length;e>r;r++)u.tweens[r].run(i);return f.notifyWith(n,[u,i,t]),1>i&&e?t:(f.resolveWith(n,[u]),!1)},u=f.promise({elem:n,props:i.extend({},t),opts:i.extend(!0,{specialEasing:{},easing:i.easing._default},r),originalProperties:t,originalOptions:r,startTime:it||pu(),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(o)return this;for(o=!0;r>i;i++)u.tweens[i].run(1);return t?(f.notifyWith(n,[u,1,0]),f.resolveWith(n,[u,t])):f.rejectWith(n,[u,t]),this}}),h=u.props;for(ae(h,u.opts.specialEasing);a>s;s++)if(e=l.prefilters[s].call(u,n,h,u.opts))return i.isFunction(e.stop)&&(i._queueHooks(u.elem,u.opts.queue).stop=i.proxy(e.stop,e)),e;return i.map(h,wu,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 k(n){return n.getAttribute&&n.getAttribute("class")||""}function ff(n){return function(t,r){"string"!=typeof t&&(r=t,t="*");var u,f=0,e=t.toLowerCase().match(h)||[];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 ef(n,t,r,u){function e(s){var h;return f[s]=!0,i.each(n[s]||[],function(n,i){var s=i(t,r,u);return"string"!=typeof s||o||f[s]?o?!(h=s):void 0:(t.dataTypes.unshift(s),e(s),!1)}),h}var f={},o=n===yi;return e(t.dataTypes[0])||!f["*"]&&e("*")}function wi(n,t){var r,u,f=i.ajaxSettings.flatOptions||{};for(r in t)void 0!==t[r]&&((f[r]?n:u||(u={}))[r]=t[r]);return u&&i.extend(!0,n,u),n}function be(n,t,i){for(var e,u,f,o,s=n.contents,r=n.dataTypes;"*"===r[0];)r.shift(),void 0===e&&(e=n.mimeType||t.getResponseHeader("Content-Type"));if(e)for(u in s)if(s[u]&&s[u].test(e)){r.unshift(u);break}if(r[0]in i)f=r[0];else{for(u in i){if(!r[0]||n.converters[u+" "+r[0]]){f=u;break}o||(o=u)}f=f||o}if(f)return(f!==r[0]&&r.unshift(f),i[f])}function ke(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 bi(n,t,r,u){var f;if(i.isArray(t))i.each(t,function(t,i){r||ge.test(n)?u(n,i):bi(n+"["+("object"==typeof i&&null!=i?t:"")+"]",i,r,u)});else if(r||"object"!==i.type(t))u(n,t);else for(f in t)bi(n+"["+f+"]",t[f],r,u)}function hf(n){return i.isWindow(n)?n:9===n.nodeType&&n.defaultView}var y=[],u=n.document,v=y.slice,gi=y.concat,ti=y.push,lt=y.indexOf,at={},af=at.toString,ft=at.hasOwnProperty,f={},nr="2.2.4",i=function(n,t){return new i.fn.init(n,t)},vf=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,yf=/^-ms-/,pf=/-([\da-z])/gi,wf=function(n,t){return t.toUpperCase()},p,ur,fr,er,or,sr,h,vt,a,g,br,wt,ei,it,kt,vu,yu,bu,rt,ku,du,gt,gu,nf,li,sf,ut,ki,ni,di,cf,lf;i.fn=i.prototype={jquery:nr,constructor:i,selector:"",length:0,toArray:function(){return v.call(this)},get:function(n){return null!=n?0>n?this[n+this.length]:this[n]:v.call(this)},pushStack:function(n){var t=i.merge(this.constructor(),n);return t.prevObject=this,t.context=this.context,t},each:function(n){return i.each(this,n)},map:function(n){return this.pushStack(i.map(this,function(t,i){return n.call(t,i,t)}))},slice:function(){return this.pushStack(v.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]]:[])},end:function(){return this.prevObject||this.constructor()},push:ti,sort:y.sort,splice:y.splice};i.extend=i.fn.extend=function(){var e,f,r,t,o,s,n=arguments[0]||{},u=1,c=arguments.length,h=!1;for("boolean"==typeof n&&(h=n,n=arguments[u]||{},u++),"object"==typeof n||i.isFunction(n)||(n={}),u===c&&(n=this,u--);c>u;u++)if(null!=(e=arguments[u]))for(f in e)r=n[f],t=e[f],n!==t&&(h&&t&&(i.isPlainObject(t)||(o=i.isArray(t)))?(o?(o=!1,s=r&&i.isArray(r)?r:[]):s=r&&i.isPlainObject(r)?r:{},n[f]=i.extend(h,s,t)):void 0!==t&&(n[f]=t));return n};i.extend({expando:"jQuery"+(nr+Math.random()).replace(/\D/g,""),isReady:!0,error:function(n){throw new Error(n);},noop:function(){},isFunction:function(n){return"function"===i.type(n)},isArray:Array.isArray,isWindow:function(n){return null!=n&&n===n.window},isNumeric:function(n){var t=n&&n.toString();return!i.isArray(n)&&t-parseFloat(t)+1>=0},isPlainObject:function(n){var t;if("object"!==i.type(n)||n.nodeType||i.isWindow(n)||n.constructor&&!ft.call(n,"constructor")&&!ft.call(n.constructor.prototype||{},"isPrototypeOf"))return!1;for(t in n);return void 0===t||ft.call(n,t)},isEmptyObject:function(n){var t;for(t in n)return!1;return!0},type:function(n){return null==n?n+"":"object"==typeof n||"function"==typeof n?at[af.call(n)]||"object":typeof n},globalEval:function(n){var t,r=eval;n=i.trim(n);n&&(1===n.indexOf("use strict")?(t=u.createElement("script"),t.text=n,u.head.appendChild(t).parentNode.removeChild(t)):r(n))},camelCase:function(n){return n.replace(yf,"ms-").replace(pf,wf)},nodeName:function(n,t){return n.nodeName&&n.nodeName.toLowerCase()===t.toLowerCase()},each:function(n,t){var r,i=0;if(ii(n)){for(r=n.length;r>i;i++)if(t.call(n[i],i,n[i])===!1)break}else for(i in n)if(t.call(n[i],i,n[i])===!1)break;return n},trim:function(n){return null==n?"":(n+"").replace(vf,"")},makeArray:function(n,t){var r=t||[];return null!=n&&(ii(Object(n))?i.merge(r,"string"==typeof n?[n]:n):ti.call(r,n)),r},inArray:function(n,t,i){return null==t?-1:lt.call(t,n,i)},merge:function(n,t){for(var u=+t.length,i=0,r=n.length;u>i;i++)n[r++]=t[i];return n.length=r,n},grep:function(n,t,i){for(var u,f=[],r=0,e=n.length,o=!i;e>r;r++)u=!t(n[r],r),u!==o&&f.push(n[r]);return f},map:function(n,t,i){var e,u,r=0,f=[];if(ii(n))for(e=n.length;e>r;r++)u=t(n[r],r,i),null!=u&&f.push(u);else for(r in n)u=t(n[r],r,i),null!=u&&f.push(u);return gi.apply([],f)},guid:1,proxy:function(n,t){var u,f,r;return"string"==typeof t&&(u=n[t],t=n,n=u),i.isFunction(n)?(f=v.call(arguments,2),r=function(){return n.apply(t||this,f.concat(v.call(arguments)))},r.guid=n.guid=n.guid||i.guid++,r):void 0},now:Date.now,support:f});"function"==typeof Symbol&&(i.fn[Symbol.iterator]=y[Symbol.iterator]);i.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(n,t){at["[object "+t+"]"]=t.toLowerCase()});p=function(n){function u(n,t,r,u){var l,w,a,s,nt,d,y,g,p=t&&t.ownerDocument,v=t?t.nodeType:9;if(r=r||[],"string"!=typeof n||!n||1!==v&&9!==v&&11!==v)return r;if(!u&&((t?t.ownerDocument||t:c)!==i&&b(t),t=t||i,h)){if(11!==v&&(d=sr.exec(n)))if(l=d[1]){if(9===v){if(!(a=t.getElementById(l)))return r;if(a.id===l)return r.push(a),r}else if(p&&(a=p.getElementById(l))&&et(t,a)&&a.id===l)return r.push(a),r}else{if(d[2])return k.apply(r,t.getElementsByTagName(n)),r;if((l=d[3])&&f.getElementsByClassName&&t.getElementsByClassName)return k.apply(r,t.getElementsByClassName(l)),r}if(f.qsa&&!lt[n+" "]&&(!o||!o.test(n))){if(1!==v)p=t,g=n;else if("object"!==t.nodeName.toLowerCase()){for((s=t.getAttribute("id"))?s=s.replace(hr,"\\$&"):t.setAttribute("id",s=e),y=ft(n),w=y.length,nt=yi.test(s)?"#"+s:"[id='"+s+"']";w--;)y[w]=nt+" "+yt(y[w]);g=y.join(",");p=gt.test(n)&&ii(t.parentNode)||t}if(g)try{return k.apply(r,p.querySelectorAll(g)),r}catch(tt){}finally{s===e&&t.removeAttribute("id")}}}return si(n.replace(at,"$1"),t,r,u)}function ni(){function n(r,u){return i.push(r+" ")>t.cacheLength&&delete n[i.shift()],n[r+" "]=u}var i=[];return n}function l(n){return n[e]=!0,n}function a(n){var t=i.createElement("div");try{return!!n(t)}catch(r){return!1}finally{t.parentNode&&t.parentNode.removeChild(t);t=null}}function ti(n,i){for(var r=n.split("|"),u=r.length;u--;)t.attrHandle[r[u]]=i}function wi(n,t){var i=t&&n,r=i&&1===n.nodeType&&1===t.nodeType&&(~t.sourceIndex||li)-(~n.sourceIndex||li);if(r)return r;if(i)while(i=i.nextSibling)if(i===t)return-1;return n?1:-1}function cr(n){return function(t){var i=t.nodeName.toLowerCase();return"input"===i&&t.type===n}}function lr(n){return function(t){var i=t.nodeName.toLowerCase();return("input"===i||"button"===i)&&t.type===n}}function it(n){return l(function(t){return t=+t,l(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 ii(n){return n&&"undefined"!=typeof n.getElementsByTagName&&n}function bi(){}function yt(n){for(var t=0,r=n.length,i="";r>t;t++)i+=n[t].value;return i}function ri(n,t,i){var r=t.dir,u=i&&"parentNode"===r,f=ki++;return t.first?function(t,i,f){while(t=t[r])if(1===t.nodeType||u)return n(t,i,f)}:function(t,i,o){var s,h,c,l=[v,f];if(o){while(t=t[r])if((1===t.nodeType||u)&&n(t,i,o))return!0}else while(t=t[r])if(1===t.nodeType||u){if(c=t[e]||(t[e]={}),h=c[t.uniqueID]||(c[t.uniqueID]={}),(s=h[r])&&s[0]===v&&s[1]===f)return l[2]=s[2];if(h[r]=l,l[2]=n(t,i,o))return!0}}}function ui(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 ar(n,t,i){for(var r=0,f=t.length;f>r;r++)u(n,t[r],i);return i}function pt(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 fi(n,t,i,r,u,f){return r&&!r[e]&&(r=fi(r)),u&&!u[e]&&(u=fi(u,f)),l(function(f,e,o,s){var l,c,a,p=[],y=[],w=e.length,b=f||ar(t||"*",o.nodeType?[o]:o,[]),v=!n||!f&&t?b:pt(b,p,n,o,s),h=i?u||(f?n:w||r)?[]:e:v;if(i&&i(v,h,o,s),r)for(l=pt(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?nt(f,a):p[c])>-1&&(f[l]=!(e[l]=a))}}else h=pt(h===e?h.splice(w,h.length):h),u?u(null,e,h,s):k.apply(e,h)})}function ei(n){for(var o,u,r,s=n.length,h=t.relative[n[0].type],c=h||t.relative[" "],i=h?1:0,l=ri(function(n){return n===o},c,!0),a=ri(function(n){return nt(o,n)>-1},c,!0),f=[function(n,t,i){var r=!h&&(i||t!==ht)||((o=t).nodeType?l(n,t,i):a(n,t,i));return o=null,r}];s>i;i++)if(u=t.relative[n[i].type])f=[ri(ui(f),u)];else{if(u=t.filter[n[i].type].apply(null,n[i].matches),u[e]){for(r=++i;s>r;r++)if(t.relative[n[r].type])break;return fi(i>1&&ui(f),i>1&&yt(n.slice(0,i-1).concat({value:" "===n[i-2].type?"*":""})).replace(at,"$1"),u,r>i&&ei(n.slice(i,r)),s>r&&ei(n=n.slice(r)),s>r&&yt(n))}f.push(u)}return ui(f)}function vr(n,r){var f=r.length>0,e=n.length>0,o=function(o,s,c,l,a){var y,nt,d,g=0,p="0",tt=o&&[],w=[],it=ht,rt=o||e&&t.find.TAG("*",a),ut=v+=null==it?1:Math.random()||.1,ft=rt.length;for(a&&(ht=s===i||s||a);p!==ft&&null!=(y=rt[p]);p++){if(e&&y){for(nt=0,s||y.ownerDocument===i||(b(y),c=!h);d=n[nt++];)if(d(y,s||i,c)){l.push(y);break}a&&(v=ut)}f&&((y=!d&&y)&&g--,o&&tt.push(y))}if(g+=p,f&&p!==g){for(nt=0;d=r[nt++];)d(tt,w,s,c);if(o){if(g>0)while(p--)tt[p]||w[p]||(w[p]=gi.call(l));w=pt(w)}k.apply(l,w);a&&!o&&w.length>0&&g+r.length>1&&u.uniqueSort(l)}return a&&(v=ut,ht=it),tt};return f?l(o):o}var rt,f,t,st,oi,ft,wt,si,ht,w,ut,b,i,s,h,o,d,ct,et,e="sizzle"+1*new Date,c=n.document,v=0,ki=0,hi=ni(),ci=ni(),lt=ni(),bt=function(n,t){return n===t&&(ut=!0),0},li=-2147483648,di={}.hasOwnProperty,g=[],gi=g.pop,nr=g.push,k=g.push,ai=g.slice,nt=function(n,t){for(var i=0,r=n.length;r>i;i++)if(n[i]===t)return i;return-1},kt="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",r="[\\x20\\t\\r\\n\\f]",tt="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",vi="\\["+r+"*("+tt+")(?:"+r+"*([*^$|!~]?=)"+r+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+tt+"))|)"+r+"*\\]",dt=":("+tt+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+vi+")*)|.*)\\)|)",tr=new RegExp(r+"+","g"),at=new RegExp("^"+r+"+|((?:^|[^\\\\])(?:\\\\.)*)"+r+"+$","g"),ir=new RegExp("^"+r+"*,"+r+"*"),rr=new RegExp("^"+r+"*([>+~]|"+r+")"+r+"*"),ur=new RegExp("="+r+"*([^\\]'\"]*?)"+r+"*\\]","g"),fr=new RegExp(dt),yi=new RegExp("^"+tt+"$"),vt={ID:new RegExp("^#("+tt+")"),CLASS:new RegExp("^\\.("+tt+")"),TAG:new RegExp("^("+tt+"|[*])"),ATTR:new RegExp("^"+vi),PSEUDO:new RegExp("^"+dt),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+r+"*(even|odd|(([+-]|)(\\d*)n|)"+r+"*(?:([+-]|)"+r+"*(\\d+)|))"+r+"*\\)|)","i"),bool:new RegExp("^(?:"+kt+")$","i"),needsContext:new RegExp("^"+r+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+r+"*((?:-\\d)?\\d*)"+r+"*\\)|)(?=[^-]|$)","i")},er=/^(?:input|select|textarea|button)$/i,or=/^h\d$/i,ot=/^[^{]+\{\s*\[native \w/,sr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,gt=/[+~]/,hr=/'|\\/g,y=new RegExp("\\\\([\\da-f]{1,6}"+r+"?|("+r+")|.)","ig"),p=function(n,t,i){var r="0x"+t-65536;return r!==r||i?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},pi=function(){b()};try{k.apply(g=ai.call(c.childNodes),c.childNodes);g[c.childNodes.length].nodeType}catch(yr){k={apply:g.length?function(n,t){nr.apply(n,ai.call(t))}:function(n,t){for(var i=n.length,r=0;n[i++]=t[r++];);n.length=i-1}}}f=u.support={};oi=u.isXML=function(n){var t=n&&(n.ownerDocument||n).documentElement;return t?"HTML"!==t.nodeName:!1};b=u.setDocument=function(n){var v,u,l=n?n.ownerDocument||n:c;return l!==i&&9===l.nodeType&&l.documentElement?(i=l,s=i.documentElement,h=!oi(i),(u=i.defaultView)&&u.top!==u&&(u.addEventListener?u.addEventListener("unload",pi,!1):u.attachEvent&&u.attachEvent("onunload",pi)),f.attributes=a(function(n){return n.className="i",!n.getAttribute("className")}),f.getElementsByTagName=a(function(n){return n.appendChild(i.createComment("")),!n.getElementsByTagName("*").length}),f.getElementsByClassName=ot.test(i.getElementsByClassName),f.getById=a(function(n){return s.appendChild(n).id=e,!i.getElementsByName||!i.getElementsByName(e).length}),f.getById?(t.find.ID=function(n,t){if("undefined"!=typeof t.getElementById&&h){var i=t.getElementById(n);return i?[i]:[]}},t.filter.ID=function(n){var t=n.replace(y,p);return function(n){return n.getAttribute("id")===t}}):(delete t.find.ID,t.filter.ID=function(n){var t=n.replace(y,p);return function(n){var i="undefined"!=typeof n.getAttributeNode&&n.getAttributeNode("id");return i&&i.value===t}}),t.find.TAG=f.getElementsByTagName?function(n,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(n):f.qsa?t.querySelectorAll(n):void 0}: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},t.find.CLASS=f.getElementsByClassName&&function(n,t){if("undefined"!=typeof t.getElementsByClassName&&h)return t.getElementsByClassName(n)},d=[],o=[],(f.qsa=ot.test(i.querySelectorAll))&&(a(function(n){s.appendChild(n).innerHTML="<a id='"+e+"'><\/a><select id='"+e+"-\r\\' msallowcapture=''><option selected=''><\/option><\/select>";n.querySelectorAll("[msallowcapture^='']").length&&o.push("[*^$]="+r+"*(?:''|\"\")");n.querySelectorAll("[selected]").length||o.push("\\["+r+"*(?:value|"+kt+")");n.querySelectorAll("[id~="+e+"-]").length||o.push("~=");n.querySelectorAll(":checked").length||o.push(":checked");n.querySelectorAll("a#"+e+"+*").length||o.push(".#.+[+~]")}),a(function(n){var t=i.createElement("input");t.setAttribute("type","hidden");n.appendChild(t).setAttribute("name","D");n.querySelectorAll("[name=d]").length&&o.push("name"+r+"*[*^$|!~]?=");n.querySelectorAll(":enabled").length||o.push(":enabled",":disabled");n.querySelectorAll("*,:x");o.push(",.*:")})),(f.matchesSelector=ot.test(ct=s.matches||s.webkitMatchesSelector||s.mozMatchesSelector||s.oMatchesSelector||s.msMatchesSelector))&&a(function(n){f.disconnectedMatch=ct.call(n,"div");ct.call(n,"[s!='']:x");d.push("!=",dt)}),o=o.length&&new RegExp(o.join("|")),d=d.length&&new RegExp(d.join("|")),v=ot.test(s.compareDocumentPosition),et=v||ot.test(s.contains)?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},bt=v?function(n,t){if(n===t)return ut=!0,0;var r=!n.compareDocumentPosition-!t.compareDocumentPosition;return r?r:(r=(n.ownerDocument||n)===(t.ownerDocument||t)?n.compareDocumentPosition(t):1,1&r||!f.sortDetached&&t.compareDocumentPosition(n)===r?n===i||n.ownerDocument===c&&et(c,n)?-1:t===i||t.ownerDocument===c&&et(c,t)?1:w?nt(w,n)-nt(w,t):0:4&r?-1:1)}:function(n,t){if(n===t)return ut=!0,0;var r,u=0,o=n.parentNode,s=t.parentNode,f=[n],e=[t];if(!o||!s)return n===i?-1:t===i?1:o?-1:s?1:w?nt(w,n)-nt(w,t):0;if(o===s)return wi(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?wi(f[u],e[u]):f[u]===c?-1:e[u]===c?1:0},i):i};u.matches=function(n,t){return u(n,null,null,t)};u.matchesSelector=function(n,t){if((n.ownerDocument||n)!==i&&b(n),t=t.replace(ur,"='$1']"),f.matchesSelector&&h&&!lt[t+" "]&&(!d||!d.test(t))&&(!o||!o.test(t)))try{var r=ct.call(n,t);if(r||f.disconnectedMatch||n.document&&11!==n.document.nodeType)return r}catch(e){}return u(t,i,null,[n]).length>0};u.contains=function(n,t){return(n.ownerDocument||n)!==i&&b(n),et(n,t)};u.attr=function(n,r){(n.ownerDocument||n)!==i&&b(n);var e=t.attrHandle[r.toLowerCase()],u=e&&di.call(t.attrHandle,r.toLowerCase())?e(n,r,!h):void 0;return void 0!==u?u:f.attributes||!h?n.getAttribute(r):(u=n.getAttributeNode(r))&&u.specified?u.value:null};u.error=function(n){throw new Error("Syntax error, unrecognized expression: "+n);};u.uniqueSort=function(n){var r,u=[],t=0,i=0;if(ut=!f.detectDuplicates,w=!f.sortStable&&n.slice(0),n.sort(bt),ut){while(r=n[i++])r===n[i]&&(t=u.push(i));while(t--)n.splice(u[t],1)}return w=null,n};st=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+=st(n)}else if(3===t||4===t)return n.nodeValue}else while(r=n[u++])i+=st(r);return i};t=u.selectors={cacheLength:50,createPseudo:l,match:vt,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(y,p),n[3]=(n[3]||n[4]||n[5]||"").replace(y,p),"~="===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 i,t=!n[6]&&n[2];return vt.CHILD.test(n[0])?null:(n[3]?n[2]=n[4]||n[5]||"":t&&fr.test(t)&&(i=ft(t,!0))&&(i=t.indexOf(")",t.length-i)-t.length)&&(n[0]=n[0].slice(0,i),n[2]=t.slice(0,i)),n.slice(0,3))}},filter:{TAG:function(n){var t=n.replace(y,p).toLowerCase();return"*"===n?function(){return!0}:function(n){return n.nodeName&&n.nodeName.toLowerCase()===t}},CLASS:function(n){var t=hi[n+" "];return t||(t=new RegExp("(^|"+r+")"+n+"("+r+"|$)"))&&hi(n,function(n){return t.test("string"==typeof n.className&&n.className||"undefined"!=typeof n.getAttribute&&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.replace(tr," ")+" ").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),o="last"!==n.slice(-4),f="of-type"===t;return 1===r&&0===u?function(n){return!!n.parentNode}:function(t,i,h){var p,w,y,c,a,b,k=s!==o?"nextSibling":"previousSibling",d=t.parentNode,nt=f&&t.nodeName.toLowerCase(),g=!h&&!f,l=!1;if(d){if(s){while(k){for(c=t;c=c[k];)if(f?c.nodeName.toLowerCase()===nt:1===c.nodeType)return!1;b=k="only"===n&&!b&&"nextSibling"}return!0}if(b=[o?d.firstChild:d.lastChild],o&&g){for(c=d,y=c[e]||(c[e]={}),w=y[c.uniqueID]||(y[c.uniqueID]={}),p=w[n]||[],a=p[0]===v&&p[1],l=a&&p[2],c=a&&d.childNodes[a];c=++a&&c&&c[k]||(l=a=0)||b.pop();)if(1===c.nodeType&&++l&&c===t){w[n]=[v,a,l];break}}else if(g&&(c=t,y=c[e]||(c[e]={}),w=y[c.uniqueID]||(y[c.uniqueID]={}),p=w[n]||[],a=p[0]===v&&p[1],l=a),l===!1)while(c=++a&&c&&c[k]||(l=a=0)||b.pop())if((f?c.nodeName.toLowerCase()===nt:1===c.nodeType)&&++l&&(g&&(y=c[e]||(c[e]={}),w=y[c.uniqueID]||(y[c.uniqueID]={}),w[n]=[v,l]),c===t))break;return l-=u,l===r||l%r==0&&l/r>=0}}},PSEUDO:function(n,i){var f,r=t.pseudos[n]||t.setFilters[n.toLowerCase()]||u.error("unsupported pseudo: "+n);return r[e]?r(i):r.length>1?(f=[n,n,"",i],t.setFilters.hasOwnProperty(n.toLowerCase())?l(function(n,t){for(var u,f=r(n,i),e=f.length;e--;)u=nt(n,f[e]),n[u]=!(t[u]=f[e])}):function(n){return r(n,0,f)}):r}},pseudos:{not:l(function(n){var t=[],r=[],i=wt(n.replace(at,"$1"));return i[e]?l(function(n,t,r,u){for(var e,o=i(n,null,u,[]),f=n.length;f--;)(e=o[f])&&(n[f]=!(t[f]=e))}):function(n,u,f){return t[0]=n,i(t,null,f,r),t[0]=null,!r.pop()}}),has:l(function(n){return function(t){return u(n,t).length>0}}),contains:l(function(n){return n=n.replace(y,p),function(t){return(t.textContent||t.innerText||st(t)).indexOf(n)>-1}}),lang:l(function(n){return yi.test(n||"")||u.error("unsupported lang: "+n),n=n.replace(y,p).toLowerCase(),function(t){var i;do if(i=h?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===s},focus:function(n){return n===i.activeElement&&(!i.hasFocus||i.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.nodeType<6)return!1;return!0},parent:function(n){return!t.pseudos.empty(n)},header:function(n){return or.test(n.nodeName)},input:function(n){return er.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"))||"text"===t.toLowerCase())},first:it(function(){return[0]}),last:it(function(n,t){return[t-1]}),eq:it(function(n,t,i){return[0>i?i+t:i]}),even:it(function(n,t){for(var i=0;t>i;i+=2)n.push(i);return n}),odd:it(function(n,t){for(var i=1;t>i;i+=2)n.push(i);return n}),lt:it(function(n,t,i){for(var r=0>i?i+t:i;--r>=0;)n.push(r);return n}),gt:it(function(n,t,i){for(var r=0>i?i+t:i;++r<t;)n.push(r);return n})}};t.pseudos.nth=t.pseudos.eq;for(rt in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})t.pseudos[rt]=cr(rt);for(rt in{submit:!0,reset:!0})t.pseudos[rt]=lr(rt);return bi.prototype=t.filters=t.pseudos,t.setFilters=new bi,ft=u.tokenize=function(n,i){var e,f,s,o,r,h,c,l=ci[n+" "];if(l)return i?0:l.slice(0);for(r=n,h=[],c=t.preFilter;r;){(!e||(f=ir.exec(r)))&&(f&&(r=r.slice(f[0].length)||r),h.push(s=[]));e=!1;(f=rr.exec(r))&&(e=f.shift(),s.push({value:e,type:f[0].replace(at," ")}),r=r.slice(e.length));for(o in t.filter)(f=vt[o].exec(r))&&(!c[o]||(f=c[o](f)))&&(e=f.shift(),s.push({value:e,type:o,matches:f}),r=r.slice(e.length));if(!e)break}return i?r.length:r?u.error(n):ci(n,h).slice(0)},wt=u.compile=function(n,t){var r,u=[],f=[],i=lt[n+" "];if(!i){for(t||(t=ft(n)),r=t.length;r--;)i=ei(t[r]),i[e]?u.push(i):f.push(i);i=lt(n,vr(f,u));i.selector=n}return i},si=u.select=function(n,i,r,u){var s,e,o,a,v,l="function"==typeof n&&n,c=!u&&ft(n=l.selector||n);if(r=r||[],1===c.length){if(e=c[0]=c[0].slice(0),e.length>2&&"ID"===(o=e[0]).type&&f.getById&&9===i.nodeType&&h&&t.relative[e[1].type]){if(i=(t.find.ID(o.matches[0].replace(y,p),i)||[])[0],!i)return r;l&&(i=i.parentNode);n=n.slice(e.shift().value.length)}for(s=vt.needsContext.test(n)?0:e.length;s--;){if(o=e[s],t.relative[a=o.type])break;if((v=t.find[a])&&(u=v(o.matches[0].replace(y,p),gt.test(e[0].type)&&ii(i.parentNode)||i))){if(e.splice(s,1),n=u.length&&yt(e),!n)return k.apply(r,u),r;break}}}return(l||wt(n,c))(u,i,!h,r,!i||gt.test(n)&&ii(i.parentNode)||i),r},f.sortStable=e.split("").sort(bt).join("")===e,f.detectDuplicates=!!ut,b(),f.sortDetached=a(function(n){return 1&n.compareDocumentPosition(i.createElement("div"))}),a(function(n){return n.innerHTML="<a href='#'><\/a>","#"===n.firstChild.getAttribute("href")})||ti("type|href|height|width",function(n,t,i){if(!i)return n.getAttribute(t,"type"===t.toLowerCase()?1:2)}),f.attributes&&a(function(n){return n.innerHTML="<input/>",n.firstChild.setAttribute("value",""),""===n.firstChild.getAttribute("value")})||ti("value",function(n,t,i){if(!i&&"input"===n.nodeName.toLowerCase())return n.defaultValue}),a(function(n){return null==n.getAttribute("disabled")})||ti(kt,function(n,t,i){var r;if(!i)return n[t]===!0?t.toLowerCase():(r=n.getAttributeNode(t))&&r.specified?r.value:null}),u}(n);i.find=p;i.expr=p.selectors;i.expr[":"]=i.expr.pseudos;i.uniqueSort=i.unique=p.uniqueSort;i.text=p.getText;i.isXMLDoc=p.isXML;i.contains=p.contains;var d=function(n,t,r){for(var u=[],f=void 0!==r;(n=n[t])&&9!==n.nodeType;)if(1===n.nodeType){if(f&&i(n).is(r))break;u.push(n)}return u},tr=function(n,t){for(var i=[];n;n=n.nextSibling)1===n.nodeType&&n!==t&&i.push(n);return i},ir=i.expr.match.needsContext,rr=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,bf=/^.[^:#\[\.,]*$/;i.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}))};i.fn.extend({find:function(n){var t,u=this.length,r=[],f=this;if("string"!=typeof n)return this.pushStack(i(n).filter(function(){for(t=0;u>t;t++)if(i.contains(f[t],this))return!0}));for(t=0;u>t;t++)i.find(n,f[t],r);return r=this.pushStack(u>1?i.unique(r):r),r.selector=this.selector?this.selector+" "+n:n,r},filter:function(n){return this.pushStack(ri(this,n||[],!1))},not:function(n){return this.pushStack(ri(this,n||[],!0))},is:function(n){return!!ri(this,"string"==typeof n&&ir.test(n)?i(n):n||[],!1).length}});fr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;er=i.fn.init=function(n,t,r){var f,e;if(!n)return this;if(r=r||ur,"string"==typeof n){if(f="<"===n[0]&&">"===n[n.length-1]&&n.length>=3?[null,n,null]:fr.exec(n),!f||!f[1]&&t)return!t||t.jquery?(t||r).find(n):this.constructor(t).find(n);if(f[1]){if(t=t instanceof i?t[0]:t,i.merge(this,i.parseHTML(f[1],t&&t.nodeType?t.ownerDocument||t:u,!0)),rr.test(f[1])&&i.isPlainObject(t))for(f in t)i.isFunction(this[f])?this[f](t[f]):this.attr(f,t[f]);return this}return e=u.getElementById(f[2]),e&&e.parentNode&&(this.length=1,this[0]=e),this.context=u,this.selector=n,this}return n.nodeType?(this.context=this[0]=n,this.length=1,this):i.isFunction(n)?void 0!==r.ready?r.ready(n):n(i):(void 0!==n.selector&&(this.selector=n.selector,this.context=n.context),i.makeArray(n,this))};er.prototype=i.fn;ur=i(u);or=/^(?:parents|prev(?:Until|All))/;sr={children:!0,contents:!0,next:!0,prev:!0};i.fn.extend({has:function(n){var t=i(n,this),r=t.length;return this.filter(function(){for(var n=0;r>n;n++)if(i.contains(this,t[n]))return!0})},closest:function(n,t){for(var r,f=0,o=this.length,u=[],e=ir.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(r.nodeType<11&&(e?e.index(r)>-1:1===r.nodeType&&i.find.matchesSelector(r,n))){u.push(r);break}return this.pushStack(u.length>1?i.uniqueSort(u):u)},index:function(n){return n?"string"==typeof n?lt.call(i(n),this[0]):lt.call(this,n.jquery?n[0]:n):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(n,t){return this.pushStack(i.uniqueSort(i.merge(this.get(),i(n,t))))},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 d(n,"parentNode")},parentsUntil:function(n,t,i){return d(n,"parentNode",i)},next:function(n){return hr(n,"nextSibling")},prev:function(n){return hr(n,"previousSibling")},nextAll:function(n){return d(n,"nextSibling")},prevAll:function(n){return d(n,"previousSibling")},nextUntil:function(n,t,i){return d(n,"nextSibling",i)},prevUntil:function(n,t,i){return d(n,"previousSibling",i)},siblings:function(n){return tr((n.parentNode||{}).firstChild,n)},children:function(n){return tr(n.firstChild)},contents:function(n){return n.contentDocument||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&&(sr[n]||i.uniqueSort(f),or.test(n)&&f.reverse()),this.pushStack(f)}});h=/\S+/g;i.Callbacks=function(n){n="string"==typeof n?kf(n):i.extend({},n);var o,r,h,f,t=[],e=[],u=-1,c=function(){for(f=n.once,h=o=!0;e.length;u=-1)for(r=e.shift();++u<t.length;)t[u].apply(r[0],r[1])===!1&&n.stopOnFalse&&(u=t.length,r=!1);n.memory||(r=!1);o=!1;f&&(t=r?[]:"")},s={add:function(){return t&&(r&&!o&&(u=t.length-1,e.push(r)),function f(r){i.each(r,function(r,u){i.isFunction(u)?n.unique&&s.has(u)||t.push(u):u&&u.length&&"string"!==i.type(u)&&f(u)})}(arguments),r&&!o&&c()),this},remove:function(){return i.each(arguments,function(n,r){for(var f;(f=i.inArray(r,t,f))>-1;)t.splice(f,1),u>=f&&u--}),this},has:function(n){return n?i.inArray(n,t)>-1:t.length>0},empty:function(){return t&&(t=[]),this},disable:function(){return f=e=[],t=r="",this},disabled:function(){return!t},lock:function(){return f=e=[],r||(t=r=""),this},locked:function(){return!!f},fireWith:function(n,t){return f||(t=t||[],t=[n,t.slice?t.slice():t],e.push(t),o||c()),this},fire:function(){return s.fireWith(this,arguments),this},fired:function(){return!!h}};return s};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 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().progress(f.notify).done(f.resolve).fail(f.reject):f[e[0]+"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=v.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?v.call(arguments):r;i===o?f.notifyWith(t,i):--e||f.resolveWith(t,i)}},o,c,s;if(r>1)for(o=new Array(r),c=new Array(r),s=new Array(r);r>t;t++)u[t]&&i.isFunction(u[t].promise)?u[t].promise().progress(h(t,c,o)).done(h(t,s,u)).fail(f.reject):--e;return e||f.resolveWith(s,u),f.promise()}});i.fn.ready=function(n){return i.ready.promise().done(n),this};i.extend({isReady:!1,readyWait:1,holdReady:function(n){n?i.readyWait++:i.ready(!0)},ready:function(n){(n===!0?--i.readyWait:i.isReady)||(i.isReady=!0,n!==!0&&--i.readyWait>0||(vt.resolveWith(u,[i]),i.fn.triggerHandler&&(i(u).triggerHandler("ready"),i(u).off("ready"))))}});i.ready.promise=function(t){return vt||(vt=i.Deferred(),"complete"===u.readyState||"loading"!==u.readyState&&!u.documentElement.doScroll?n.setTimeout(i.ready):(u.addEventListener("DOMContentLoaded",yt),n.addEventListener("load",yt))),vt.promise(t)};i.ready.promise();a=function(n,t,r,u,f,e,o){var s=0,c=n.length,h=null==r;if("object"===i.type(r)){f=!0;for(s in r)a(n,t,s,r[s],!0,e,o)}else if(void 0!==u&&(f=!0,i.isFunction(u)||(o=!0),h&&(o?(t.call(n,u),t=null):(h=t,t=function(n,t,r){return h.call(i(n),r)})),t))for(;c>s;s++)t(n[s],r,o?u:u.call(n[s],s,t(n[s],r)));return f?n:h?t.call(n):c?t(n[0],r):e};g=function(n){return 1===n.nodeType||9===n.nodeType||!+n.nodeType};et.uid=1;et.prototype={register:function(n,t){var i=t||{};return n.nodeType?n[this.expando]=i:Object.defineProperty(n,this.expando,{value:i,writable:!0,configurable:!0}),n[this.expando]},cache:function(n){if(!g(n))return{};var t=n[this.expando];return t||(t={},g(n)&&(n.nodeType?n[this.expando]=t:Object.defineProperty(n,this.expando,{value:t,configurable:!0}))),t},set:function(n,t,i){var r,u=this.cache(n);if("string"==typeof t)u[t]=i;else for(r in t)u[r]=t[r];return u},get:function(n,t){return void 0===t?this.cache(n):n[this.expando]&&n[this.expando][t]},access:function(n,t,r){var u;return void 0===t||t&&"string"==typeof t&&void 0===r?(u=this.get(n,t),void 0!==u?u:this.get(n,i.camelCase(t))):(this.set(n,t,r),void 0!==r?r:t)},remove:function(n,t){var f,r,e,u=n[this.expando];if(void 0!==u){if(void 0===t)this.register(n);else for(i.isArray(t)?r=t.concat(t.map(i.camelCase)):(e=i.camelCase(t),(t in u)?r=[t,e]:(r=e,r=(r in u)?[r]:r.match(h)||[])),f=r.length;f--;)delete u[r[f]];(void 0===t||i.isEmptyObject(u))&&(n.nodeType?n[this.expando]=void 0:delete n[this.expando])}},hasData:function(n){var t=n[this.expando];return void 0!==t&&!i.isEmptyObject(t)}};var r=new et,e=new et,df=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,cr=/[A-Z]/g;i.extend({hasData:function(n){return e.hasData(n)||r.hasData(n)},data:function(n,t,i){return e.access(n,t,i)},removeData:function(n,t){e.remove(n,t)},_data:function(n,t,i){return r.access(n,t,i)},_removeData:function(n,t){r.remove(n,t)}});i.fn.extend({data:function(n,t){var o,f,s,u=this[0],h=u&&u.attributes;if(void 0===n){if(this.length&&(s=e.get(u),1===u.nodeType&&!r.get(u,"hasDataAttrs"))){for(o=h.length;o--;)h[o]&&(f=h[o].name,0===f.indexOf("data-")&&(f=i.camelCase(f.slice(5)),lr(u,f,s[f])));r.set(u,"hasDataAttrs",!0)}return s}return"object"==typeof n?this.each(function(){e.set(this,n)}):a(this,function(t){var r,f;if(u&&void 0===t){if((r=e.get(u,n)||e.get(u,n.replace(cr,"-$&").toLowerCase()),void 0!==r)||(f=i.camelCase(n),r=e.get(u,f),void 0!==r)||(r=lr(u,f,void 0),void 0!==r))return r}else f=i.camelCase(n),this.each(function(){var i=e.get(this,f);e.set(this,f,t);n.indexOf("-")>-1&&void 0!==i&&e.set(this,n,t)})},null,t,arguments.length>1,null,!0)},removeData:function(n){return this.each(function(){e.remove(this,n)})}});i.extend({queue:function(n,t,u){var f;if(n)return(t=(t||"fx")+"queue",f=r.get(n,t),u&&(!f||i.isArray(u)?f=r.access(n,t,i.makeArray(u)):f.push(u)),f||[])},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 u=t+"queueHooks";return r.get(n,u)||r.access(n,u,{empty:i.Callbacks("once memory").add(function(){r.remove(n,[t+"queue",u])})})}});i.fn.extend({queue:function(n,t){var r=2;return"string"!=typeof n&&(t=n,n="fx",r--),arguments.length<r?i.queue(this[0],n):void 0===t?this:this.each(function(){var r=i.queue(this,n,t);i._queueHooks(this,n);"fx"===n&&"inprogress"!==r[0]&&i.dequeue(this,n)})},dequeue:function(n){return this.each(function(){i.dequeue(this,n)})},clearQueue:function(n){return this.queue(n||"fx",[])},promise:function(n,t){var u,e=1,o=i.Deferred(),f=this,s=this.length,h=function(){--e||o.resolveWith(f,[f])};for("string"!=typeof n&&(t=n,n=void 0),n=n||"fx";s--;)u=r.get(f[s],n+"queueHooks"),u&&u.empty&&(e++,u.empty.add(h));return h(),o.promise(t)}});var ar=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ot=new RegExp("^(?:([+-])=|)("+ar+")([a-z%]*)$","i"),w=["Top","Right","Bottom","Left"],st=function(n,t){return n=t||n,"none"===i.css(n,"display")||!i.contains(n.ownerDocument,n)};var yr=/^(?:checkbox|radio)$/i,pr=/<([\w:-]+)/,wr=/^$|\/(?:java|ecma)script/i,c={option:[1,"<select multiple='multiple'>","<\/select>"],thead:[1,"<table>","<\/table>"],col:[2,"<table><colgroup>","<\/colgroup><\/table>"],tr:[2,"<table><tbody>","<\/tbody><\/table>"],td:[3,"<table><tbody><tr>","<\/tr><\/tbody><\/table>"],_default:[0,"",""]};c.optgroup=c.option;c.tbody=c.tfoot=c.colgroup=c.caption=c.thead;c.th=c.td;br=/<|&#?\w+;/;!function(){var i=u.createDocumentFragment(),n=i.appendChild(u.createElement("div")),t=u.createElement("input");t.setAttribute("type","radio");t.setAttribute("checked","checked");t.setAttribute("name","t");n.appendChild(t);f.checkClone=n.cloneNode(!0).cloneNode(!0).lastChild.checked;n.innerHTML="<textarea>x<\/textarea>";f.noCloneChecked=!!n.cloneNode(!0).lastChild.defaultValue}();var gf=/^key/,ne=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,dr=/^([^.]*)(?:\.(.+)|)/;i.event={global:{},add:function(n,t,u,f,e){var v,y,w,p,b,c,s,l,o,k,d,a=r.get(n);if(a)for(u.handler&&(v=u,u=v.handler,e=v.selector),u.guid||(u.guid=i.guid++),(p=a.events)||(p=a.events={}),(y=a.handle)||(y=a.handle=function(t){if("undefined"!=typeof i&&i.event.triggered!==t.type)return i.event.dispatch.apply(n,arguments)}),t=(t||"").match(h)||[""],b=t.length;b--;)w=dr.exec(t[b])||[],o=d=w[1],k=(w[2]||"").split(".").sort(),o&&(s=i.event.special[o]||{},o=(e?s.delegateType:s.bindType)||o,s=i.event.special[o]||{},c=i.extend({type:o,origType:d,data:f,handler:u,guid:u.guid,selector:e,needsContext:e&&i.expr.match.needsContext.test(e),namespace:k.join(".")},v),(l=p[o])||(l=p[o]=[],l.delegateCount=0,s.setup&&s.setup.call(n,f,k,y)!==!1||n.addEventListener&&n.addEventListener(o,y)),s.add&&(s.add.call(n,c),c.handler.guid||(c.handler.guid=u.guid)),e?l.splice(l.delegateCount++,0,c):l.push(c),i.event.global[o]=!0)},remove:function(n,t,u,f,e){var y,k,c,v,p,s,l,a,o,b,d,w=r.hasData(n)&&r.get(n);if(w&&(v=w.events)){for(t=(t||"").match(h)||[""],p=t.length;p--;)if(c=dr.exec(t[p])||[],o=d=c[1],b=(c[2]||"").split(".").sort(),o){for(l=i.event.special[o]||{},o=(f?l.delegateType:l.bindType)||o,a=v[o]||[],c=c[2]&&new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"),k=y=a.length;y--;)s=a[y],!e&&d!==s.origType||u&&u.guid!==s.guid||c&&!c.test(s.namespace)||f&&f!==s.selector&&("**"!==f||!s.selector)||(a.splice(y,1),s.selector&&a.delegateCount--,l.remove&&l.remove.call(n,s));k&&!a.length&&(l.teardown&&l.teardown.call(n,b,w.handle)!==!1||i.removeEvent(n,o,w.handle),delete v[o])}else for(o in v)i.event.remove(n,o+t[p],u,f,!0);i.isEmptyObject(v)&&r.remove(n,"handle events")}},dispatch:function(n){n=i.event.fix(n);var o,s,e,u,t,h=[],c=v.call(arguments),l=(r.get(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,l),o=0;(u=h[o++])&&!n.isPropagationStopped();)for(n.currentTarget=u.elem,s=0;(t=u.handlers[s++])&&!n.isImmediatePropagationStopped();)n.rnamespace&&!n.rnamespace.test(t.namespace)||(n.handleObj=t,n.data=t.data,e=((i.event.special[t.origType]||{}).handle||t.handler).apply(u.elem,c),void 0!==e&&(n.result=e)===!1&&(n.preventDefault(),n.stopPropagation()));return f.postDispatch&&f.postDispatch.call(this,n),n.result}},handlers:function(n,t){var e,u,f,o,h=[],s=t.delegateCount,r=n.target;if(s&&r.nodeType&&("click"!==n.type||isNaN(n.button)||n.button<1))for(;r!==this;r=r.parentNode||this)if(1===r.nodeType&&(r.disabled!==!0||"click"!==n.type)){for(u=[],e=0;s>e;e++)o=t[e],f=o.selector+" ",void 0===u[f]&&(u[f]=o.needsContext?i(f,this).index(r)>-1:i.find(f,this,null,[r]).length),u[f]&&u.push(o);u.length&&h.push({elem:r,handlers:u})}return s<t.length&&h.push({elem:this,handlers:t.slice(s)}),h},props:"altKey bubbles cancelable ctrlKey currentTarget detail 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 offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(n,t){var e,i,r,f=t.button;return null==n.pageX&&null!=t.clientX&&(e=n.target.ownerDocument||u,i=e.documentElement,r=e.body,n.pageX=t.clientX+(i&&i.scrollLeft||r&&r.scrollLeft||0)-(i&&i.clientLeft||r&&r.clientLeft||0),n.pageY=t.clientY+(i&&i.scrollTop||r&&r.scrollTop||0)-(i&&i.clientTop||r&&r.clientTop||0)),n.which||void 0===f||(n.which=1&f?1:2&f?3:4&f?2:0),n}},fix:function(n){if(n[i.expando])return n;var f,e,o,r=n.type,s=n,t=this.fixHooks[r];for(t||(this.fixHooks[r]=t=ne.test(r)?this.mouseHooks:gf.test(r)?this.keyHooks:{}),o=t.props?this.props.concat(t.props):this.props,n=new i.Event(s),f=o.length;f--;)e=o[f],n[e]=s[e];return n.target||(n.target=u),3===n.target.nodeType&&(n.target=n.target.parentNode),t.filter?t.filter(n,s):n},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==gr()&&this.focus)return(this.focus(),!1)},delegateType:"focusin"},blur:{trigger:function(){if(this===gr()&&this.blur)return(this.blur(),!1)},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&i.nodeName(this,"input"))return(this.click(),!1)},_default:function(n){return i.nodeName(n.target,"a")}},beforeunload:{postDispatch:function(n){void 0!==n.result&&n.originalEvent&&(n.originalEvent.returnValue=n.result)}}}};i.removeEvent=function(n,t,i){n.removeEventListener&&n.removeEventListener(t,i)};i.Event=function(n,t){return this instanceof i.Event?(n&&n.type?(this.originalEvent=n,this.type=n.type,this.isDefaultPrevented=n.defaultPrevented||void 0===n.defaultPrevented&&n.returnValue===!1?pt:nt):this.type=n,t&&i.extend(this,t),this.timeStamp=n&&n.timeStamp||i.now(),void(this[i.expando]=!0)):new i.Event(n,t)};i.Event.prototype={constructor:i.Event,isDefaultPrevented:nt,isPropagationStopped:nt,isImmediatePropagationStopped:nt,isSimulated:!1,preventDefault:function(){var n=this.originalEvent;this.isDefaultPrevented=pt;n&&!this.isSimulated&&n.preventDefault()},stopPropagation:function(){var n=this.originalEvent;this.isPropagationStopped=pt;n&&!this.isSimulated&&n.stopPropagation()},stopImmediatePropagation:function(){var n=this.originalEvent;this.isImmediatePropagationStopped=pt;n&&!this.isSimulated&&n.stopImmediatePropagation();this.stopPropagation()}};i.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},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.fn.extend({on:function(n,t,i,r){return fi(this,n,t,i,r)},one:function(n,t,i,r){return fi(this,n,t,i,r,1)},off:function(n,t,r){var u,f;if(n&&n.preventDefault&&n.handleObj)return u=n.handleObj,i(n.delegateTarget).off(u.namespace?u.origType+"."+u.namespace:u.origType,u.selector,u.handler),this;if("object"==typeof n){for(f in n)this.off(f,t,n[f]);return this}return t!==!1&&"function"!=typeof t||(r=t,t=void 0),r===!1&&(r=nt),this.each(function(){i.event.remove(this,n,r,t)})}});var te=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,ie=/<script|<style|<link/i,re=/checked\s*(?:[^=]|=\s*.checked.)/i,ue=/^true\/(.*)/,fe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;i.extend({htmlPrefilter:function(n){return n.replace(te,"<$1><\/$2>")},clone:function(n,t,r){var u,c,s,e,h=n.cloneNode(!0),l=i.contains(n.ownerDocument,n);if(!(f.noCloneChecked||1!==n.nodeType&&11!==n.nodeType||i.isXMLDoc(n)))for(e=o(h),s=o(n),u=0,c=s.length;c>u;u++)se(s[u],e[u]);if(t)if(r)for(s=s||o(n),e=e||o(h),u=0,c=s.length;c>u;u++)tu(s[u],e[u]);else tu(n,h);return e=o(h,"script"),e.length>0&&ui(e,!l&&o(n,"script")),h},cleanData:function(n){for(var u,t,f,s=i.event.special,o=0;void 0!==(t=n[o]);o++)if(g(t)){if(u=t[r.expando]){if(u.events)for(f in u.events)s[f]?i.event.remove(t,f):i.removeEvent(t,f,u.handle);t[r.expando]=void 0}t[e.expando]&&(t[e.expando]=void 0)}}});i.fn.extend({domManip:b,detach:function(n){return iu(this,n,!0)},remove:function(n){return iu(this,n)},text:function(n){return a(this,function(n){return void 0===n?i.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=n)})},null,n,arguments.length)},append:function(){return b(this,arguments,function(n){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=nu(this,n);t.appendChild(n)}})},prepend:function(){return b(this,arguments,function(n){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=nu(this,n);t.insertBefore(n,t.firstChild)}})},before:function(){return b(this,arguments,function(n){this.parentNode&&this.parentNode.insertBefore(n,this)})},after:function(){return b(this,arguments,function(n){this.parentNode&&this.parentNode.insertBefore(n,this.nextSibling)})},empty:function(){for(var n,t=0;null!=(n=this[t]);t++)1===n.nodeType&&(i.cleanData(o(n,!1)),n.textContent="");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 a(this,function(n){var t=this[0]||{},r=0,u=this.length;if(void 0===n&&1===t.nodeType)return t.innerHTML;if("string"==typeof n&&!ie.test(n)&&!c[(pr.exec(n)||["",""])[1].toLowerCase()]){n=i.htmlPrefilter(n);try{for(;u>r;r++)t=this[r]||{},1===t.nodeType&&(i.cleanData(o(t,!1)),t.innerHTML=n);t=0}catch(f){}}t&&this.empty().append(n)},null,n,arguments.length)},replaceWith:function(){var n=[];return b(this,arguments,function(t){var r=this.parentNode;i.inArray(this,n)<0&&(i.cleanData(o(this)),r&&r.replaceChild(t,this))},n)}});i.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(n,t){i.fn[n]=function(n){for(var u,f=[],e=i(n),o=e.length-1,r=0;o>=r;r++)u=r===o?this:this.clone(!0),i(e[r])[t](u),ti.apply(f,u.get());return this.pushStack(f)}});ei={HTML:"block",BODY:"block"};var uu=/^margin/,si=new RegExp("^("+ar+")(?!px)[a-z%]+$","i"),bt=function(t){var i=t.ownerDocument.defaultView;return i&&i.opener||(i=n),i.getComputedStyle(t)},hi=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},ht=u.documentElement;!function(){var s,e,h,c,r=u.createElement("div"),t=u.createElement("div");if(t.style){t.style.backgroundClip="content-box";t.cloneNode(!0).style.backgroundClip="";f.clearCloneStyle="content-box"===t.style.backgroundClip;r.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute";r.appendChild(t);function o(){t.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%";t.innerHTML="";ht.appendChild(r);var i=n.getComputedStyle(t);s="1%"!==i.top;c="2px"===i.marginLeft;e="4px"===i.width;t.style.marginRight="50%";h="4px"===i.marginRight;ht.removeChild(r)}i.extend(f,{pixelPosition:function(){return o(),s},boxSizingReliable:function(){return null==e&&o(),e},pixelMarginRight:function(){return null==e&&o(),h},reliableMarginLeft:function(){return null==e&&o(),c},reliableMarginRight:function(){var f,i=t.appendChild(u.createElement("div"));return i.style.cssText=t.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",t.style.width="1px",ht.appendChild(r),f=!parseFloat(n.getComputedStyle(i).marginRight),ht.removeChild(r),t.removeChild(i),f}})}}();var he=/^(none|table(?!-c[ea]).+)/,ce={position:"absolute",visibility:"hidden",display:"block"},fu={letterSpacing:"0",fontWeight:"400"},eu=["Webkit","O","Moz","ms"],ou=u.createElement("div").style;i.extend({cssHooks:{opacity:{get:function(n,t){if(t){var i=tt(n,"opacity");return""===i?"1":i}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(n,t,r,u){if(n&&3!==n.nodeType&&8!==n.nodeType&&n.style){var e,h,o,s=i.camelCase(t),c=n.style;return t=i.cssProps[s]||(i.cssProps[s]=su(s)||s),o=i.cssHooks[t]||i.cssHooks[s],void 0===r?o&&"get"in o&&void 0!==(e=o.get(n,!1,u))?e:c[t]:(h=typeof r,"string"===h&&(e=ot.exec(r))&&e[1]&&(r=vr(n,t,e),h="number"),null!=r&&r===r&&("number"===h&&(r+=e&&e[3]||(i.cssNumber[s]?"":"px")),f.clearCloneStyle||""!==r||0!==t.indexOf("background")||(c[t]="inherit"),o&&"set"in o&&void 0===(r=o.set(n,r,u))||(c[t]=r)),void 0)}},css:function(n,t,r,u){var f,s,o,e=i.camelCase(t);return t=i.cssProps[e]||(i.cssProps[e]=su(e)||e),o=i.cssHooks[t]||i.cssHooks[e],o&&"get"in o&&(f=o.get(n,!0,r)),void 0===f&&(f=tt(n,t,u)),"normal"===f&&t in fu&&(f=fu[t]),""===r||r?(s=parseFloat(f),r===!0||isFinite(s)?s||0:f):f}});i.each(["height","width"],function(n,t){i.cssHooks[t]={get:function(n,r,u){if(r)return he.test(i.css(n,"display"))&&0===n.offsetWidth?hi(n,ce,function(){return lu(n,t,u)}):lu(n,t,u)},set:function(n,r,u){var f,e=u&&bt(n),o=u&&cu(n,t,u,"border-box"===i.css(n,"boxSizing",!1,e),e);return o&&(f=ot.exec(r))&&"px"!==(f[3]||"px")&&(n.style[t]=r,r=i.css(n,t)),hu(n,r,o)}}});i.cssHooks.marginLeft=ci(f.reliableMarginLeft,function(n,t){if(t)return(parseFloat(tt(n,"marginLeft"))||n.getBoundingClientRect().left-hi(n,{marginLeft:0},function(){return n.getBoundingClientRect().left}))+"px"});i.cssHooks.marginRight=ci(f.reliableMarginRight,function(n,t){if(t)return hi(n,{display:"inline-block"},tt,[n,"marginRight"])});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+w[r]+t]=u[r]||u[r-2]||u[0];return f}};uu.test(n)||(i.cssHooks[n+t].set=hu)});i.fn.extend({css:function(n,t){return a(this,function(n,t,r){var f,e,o={},u=0;if(i.isArray(t)){for(f=bt(n),e=t.length;e>u;u++)o[t[u]]=i.css(n,t[u],!1,f);return o}return void 0!==r?i.style(n,t,r):i.css(n,t)},n,t,arguments.length>1)},show:function(){return au(this,!0)},hide:function(){return au(this)},toggle:function(n){return"boolean"==typeof n?n?this.show():this.hide():this.each(function(){st(this)?i(this).show():i(this).hide()})}});i.Tween=s;s.prototype={constructor:s,init:function(n,t,r,u,f,e){this.elem=n;this.prop=r;this.easing=f||i.easing._default;this.options=t;this.start=this.now=this.cur();this.end=u;this.unit=e||(i.cssNumber[r]?"":"px")},cur:function(){var n=s.propHooks[this.prop];return n&&n.get?n.get(this):s.propHooks._default.get(this)},run:function(n){var t,r=s.propHooks[this.prop];return this.pos=this.options.duration?t=i.easing[this.easing](n,this.options.duration*n,0,1,this.options.duration):t=n,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),r&&r.set?r.set(this):s.propHooks._default.set(this),this}};s.prototype.init.prototype=s.prototype;s.propHooks={_default:{get:function(n){var t;return 1!==n.elem.nodeType||null!=n.elem[n.prop]&&null==n.elem.style[n.prop]?n.elem[n.prop]:(t=i.css(n.elem,n.prop,""),t&&"auto"!==t?t:0)},set:function(n){i.fx.step[n.prop]?i.fx.step[n.prop](n):1!==n.elem.nodeType||null==n.elem.style[i.cssProps[n.prop]]&&!i.cssHooks[n.prop]?n.elem[n.prop]=n.now:i.style(n.elem,n.prop,n.now+n.unit)}}};s.propHooks.scrollTop=s.propHooks.scrollLeft={set:function(n){n.elem.nodeType&&n.elem.parentNode&&(n.elem[n.prop]=n.now)}};i.easing={linear:function(n){return n},swing:function(n){return.5-Math.cos(n*Math.PI)/2},_default:"swing"};i.fx=s.prototype.init;i.fx.step={};vu=/^(?:toggle|show|hide)$/;yu=/queueHooks$/;i.Animation=i.extend(l,{tweeners:{"*":[function(n,t){var i=this.createTween(n,t);return vr(i.elem,n,ot.exec(t),i),i}]},tweener:function(n,t){i.isFunction(n)?(t=n,n=["*"]):n=n.match(h);for(var r,u=0,f=n.length;f>u;u++)r=n[u],l.tweeners[r]=l.tweeners[r]||[],l.tweeners[r].unshift(t)},prefilters:[le],prefilter:function(n,t){t?l.prefilters.unshift(n):l.prefilters.push(n)}});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.fn.extend({fadeTo:function(n,t,i,r){return this.filter(st).css("opacity",0).show().end().animate({opacity:t},n,i,r)},animate:function(n,t,u,f){var s=i.isEmptyObject(n),o=i.speed(t,u,f),e=function(){var t=l(this,i.extend({},n),o);(s||r.get(this,"finish"))&&t.stop(!0)};return e.finish=e,s||o.queue===!1?this.each(e):this.queue(o.queue,e)},stop:function(n,t,u){var f=function(n){var t=n.stop;delete n.stop;t(u)};return"string"!=typeof n&&(u=t,t=n,n=void 0),t&&n!==!1&&this.queue(n||"fx",[]),this.each(function(){var s=!0,t=null!=n&&n+"queueHooks",o=i.timers,e=r.get(this);if(t)e[t]&&e[t].stop&&f(e[t]);else for(t in e)e[t]&&e[t].stop&&yu.test(t)&&f(e[t]);for(t=o.length;t--;)o[t].elem!==this||null!=n&&o[t].queue!==n||(o[t].anim.stop(u),s=!1,o.splice(t,1));!s&&u||i.dequeue(this,n)})},finish:function(n){return n!==!1&&(n=n||"fx"),this.each(function(){var t,e=r.get(this),u=e[n+"queue"],o=e[n+"queueHooks"],f=i.timers,s=u?u.length:0;for(e.finish=!0,i.queue(this,n,[]),o&&o.stop&&o.stop.call(this,!0),t=f.length;t--;)f[t].elem===this&&f[t].queue===n&&(f[t].anim.stop(!0),f.splice(t,1));for(t=0;s>t;t++)u[t]&&u[t].finish&&u[t].finish.call(this);delete e.finish})}});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(dt(t,!0),n,i,u)}});i.each({slideDown:dt("show"),slideUp:dt("hide"),slideToggle:dt("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.timers=[];i.fx.tick=function(){var r,n=0,t=i.timers;for(it=i.now();n<t.length;n++)r=t[n],r()||t[n]!==r||t.splice(n--,1);t.length||i.fx.stop();it=void 0};i.fx.timer=function(n){i.timers.push(n);n()?i.fx.start():i.timers.pop()};i.fx.interval=13;i.fx.start=function(){kt||(kt=n.setInterval(i.fx.tick,i.fx.interval))};i.fx.stop=function(){n.clearInterval(kt);kt=null};i.fx.speeds={slow:600,fast:200,_default:400};i.fn.delay=function(t,r){return t=i.fx?i.fx.speeds[t]||t:t,r=r||"fx",this.queue(r,function(i,r){var u=n.setTimeout(i,t);r.stop=function(){n.clearTimeout(u)}})},function(){var n=u.createElement("input"),t=u.createElement("select"),i=t.appendChild(u.createElement("option"));n.type="checkbox";f.checkOn=""!==n.value;f.optSelected=i.selected;t.disabled=!0;f.optDisabled=!i.disabled;n=u.createElement("input");n.value="t";n.type="radio";f.radioValue="t"===n.value}();rt=i.expr.attrHandle;i.fn.extend({attr:function(n,t){return a(this,i.attr,n,t,arguments.length>1)},removeAttr:function(n){return this.each(function(){i.removeAttr(this,n)})}});i.extend({attr:function(n,t,r){var u,f,e=n.nodeType;if(3!==e&&8!==e&&2!==e)return"undefined"==typeof n.getAttribute?i.prop(n,t,r):(1===e&&i.isXMLDoc(n)||(t=t.toLowerCase(),f=i.attrHooks[t]||(i.expr.match.bool.test(t)?bu:void 0)),void 0!==r?null===r?void i.removeAttr(n,t):f&&"set"in f&&void 0!==(u=f.set(n,r,t))?u:(n.setAttribute(t,r+""),r):f&&"get"in f&&null!==(u=f.get(n,t))?u:(u=i.find.attr(n,t),null==u?void 0:u))},attrHooks:{type:{set:function(n,t){if(!f.radioValue&&"radio"===t&&i.nodeName(n,"input")){var r=n.value;return n.setAttribute("type",t),r&&(n.value=r),t}}}},removeAttr:function(n,t){var r,u,e=0,f=t&&t.match(h);if(f&&1===n.nodeType)while(r=f[e++])u=i.propFix[r]||r,i.expr.match.bool.test(r)&&(n[u]=!1),n.removeAttribute(r)}});bu={set:function(n,t,r){return t===!1?i.removeAttr(n,r):n.setAttribute(r,r),r}};i.each(i.expr.match.bool.source.match(/\w+/g),function(n,t){var r=rt[t]||i.find.attr;rt[t]=function(n,t,i){var u,f;return i||(f=rt[t],rt[t]=u,u=null!=r(n,t,i)?t.toLowerCase():null,rt[t]=f),u}});ku=/^(?:input|select|textarea|button)$/i;du=/^(?:a|area)$/i;i.fn.extend({prop:function(n,t){return a(this,i.prop,n,t,arguments.length>1)},removeProp:function(n){return this.each(function(){delete this[i.propFix[n]||n]})}});i.extend({prop:function(n,t,r){var f,u,e=n.nodeType;if(3!==e&&8!==e&&2!==e)return 1===e&&i.isXMLDoc(n)||(t=i.propFix[t]||t,u=i.propHooks[t]),void 0!==r?u&&"set"in u&&void 0!==(f=u.set(n,r,t))?f:n[t]=r:u&&"get"in u&&null!==(f=u.get(n,t))?f:n[t]},propHooks:{tabIndex:{get:function(n){var t=i.find.attr(n,"tabindex");return t?parseInt(t,10):ku.test(n.nodeName)||du.test(n.nodeName)&&n.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}});f.optSelected||(i.propHooks.selected={get:function(n){var t=n.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(n){var t=n.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}});i.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){i.propFix[this.toLowerCase()]=this});gt=/[\t\r\n\f]/g;i.fn.extend({addClass:function(n){var o,t,r,u,f,s,e,c=0;if(i.isFunction(n))return this.each(function(t){i(this).addClass(n.call(this,t,k(this)))});if("string"==typeof n&&n)for(o=n.match(h)||[];t=this[c++];)if(u=k(t),r=1===t.nodeType&&(" "+u+" ").replace(gt," ")){for(s=0;f=o[s++];)r.indexOf(" "+f+" ")<0&&(r+=f+" ");e=i.trim(r);u!==e&&t.setAttribute("class",e)}return this},removeClass:function(n){var o,r,t,u,f,s,e,c=0;if(i.isFunction(n))return this.each(function(t){i(this).removeClass(n.call(this,t,k(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof n&&n)for(o=n.match(h)||[];r=this[c++];)if(u=k(r),t=1===r.nodeType&&(" "+u+" ").replace(gt," ")){for(s=0;f=o[s++];)while(t.indexOf(" "+f+" ")>-1)t=t.replace(" "+f+" "," ");e=i.trim(t);u!==e&&r.setAttribute("class",e)}return this},toggleClass:function(n,t){var u=typeof n;return"boolean"==typeof t&&"string"===u?t?this.addClass(n):this.removeClass(n):i.isFunction(n)?this.each(function(r){i(this).toggleClass(n.call(this,r,k(this),t),t)}):this.each(function(){var t,e,f,o;if("string"===u)for(e=0,f=i(this),o=n.match(h)||[];t=o[e++];)f.hasClass(t)?f.removeClass(t):f.addClass(t);else void 0!==n&&"boolean"!==u||(t=k(this),t&&r.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||n===!1?"":r.get(this,"__className__")||""))})},hasClass:function(n){for(var t,r=0,i=" "+n+" ";t=this[r++];)if(1===t.nodeType&&(" "+k(t)+" ").replace(gt," ").indexOf(i)>-1)return!0;return!1}});gu=/\r/g;nf=/[\x20\t\r\n\f]+/g;i.fn.extend({val:function(n){var t,r,f,u=this[0];return arguments.length?(f=i.isFunction(n),this.each(function(r){var u;1===this.nodeType&&(u=f?n.call(this,r,i(this).val()):n,null==u?u="":"number"==typeof u?u+="":i.isArray(u)&&(u=i.map(u,function(n){return null==n?"":n+""})),t=i.valHooks[this.type]||i.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,u,"value")||(this.value=u))})):u?(t=i.valHooks[u.type]||i.valHooks[u.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(r=t.get(u,"value"))?r:(r=u.value,"string"==typeof r?r.replace(gu,""):null==r?"":r)):void 0}});i.extend({valHooks:{option:{get:function(n){var t=i.find.attr(n,"value");return null!=t?t:i.trim(i.text(n)).replace(nf," ")}},select:{get:function(n){for(var o,t,s=n.options,r=n.selectedIndex,u="select-one"===n.type||0>r,h=u?null:[],c=u?r+1:s.length,e=0>r?c:u?r:0;c>e;e++)if(t=s[e],(t.selected||e===r)&&(f.optDisabled?!t.disabled:null===t.getAttribute("disabled"))&&(!t.parentNode.disabled||!i.nodeName(t.parentNode,"optgroup"))){if(o=i(t).val(),u)return o;h.push(o)}return h},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.valHooks.option.get(r),e)>-1)&&(u=!0);return u||(n.selectedIndex=-1),e}}}});i.each(["radio","checkbox"],function(){i.valHooks[this]={set:function(n,t){if(i.isArray(t))return n.checked=i.inArray(i(n).val(),t)>-1}};f.checkOn||(i.valHooks[this].get=function(n){return null===n.getAttribute("value")?"on":n.value})});li=/^(?:focusinfocus|focusoutblur)$/;i.extend(i.event,{trigger:function(t,f,e,o){var w,s,c,b,a,v,l,p=[e||u],h=ft.call(t,"type")?t.type:t,y=ft.call(t,"namespace")?t.namespace.split("."):[];if(s=c=e=e||u,3!==e.nodeType&&8!==e.nodeType&&!li.test(h+i.event.triggered)&&(h.indexOf(".")>-1&&(y=h.split("."),h=y.shift(),y.sort()),a=h.indexOf(":")<0&&"on"+h,t=t[i.expando]?t:new i.Event(h,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=y.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+y.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=e),f=null==f?[t]:i.makeArray(f,[t]),l=i.event.special[h]||{},o||!l.trigger||l.trigger.apply(e,f)!==!1)){if(!o&&!l.noBubble&&!i.isWindow(e)){for(b=l.delegateType||h,li.test(b+h)||(s=s.parentNode);s;s=s.parentNode)p.push(s),c=s;c===(e.ownerDocument||u)&&p.push(c.defaultView||c.parentWindow||n)}for(w=0;(s=p[w++])&&!t.isPropagationStopped();)t.type=w>1?b:l.bindType||h,v=(r.get(s,"events")||{})[t.type]&&r.get(s,"handle"),v&&v.apply(s,f),v=a&&s[a],v&&v.apply&&g(s)&&(t.result=v.apply(s,f),t.result===!1&&t.preventDefault());return t.type=h,o||t.isDefaultPrevented()||l._default&&l._default.apply(p.pop(),f)!==!1||!g(e)||a&&i.isFunction(e[h])&&!i.isWindow(e)&&(c=e[a],c&&(e[a]=null),i.event.triggered=h,e[h](),i.event.triggered=void 0,c&&(e[a]=c)),t.result}},simulate:function(n,t,r){var u=i.extend(new i.Event,r,{type:n,isSimulated:!0});i.event.trigger(u,null,t)}});i.fn.extend({trigger:function(n,t){return this.each(function(){i.event.trigger(n,t,this)})},triggerHandler:function(n,t){var r=this[0];if(r)return i.event.trigger(n,t,r,!0)}});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)}});f.focusin="onfocusin"in n;f.focusin||i.each({focus:"focusin",blur:"focusout"},function(n,t){var u=function(n){i.event.simulate(t,n.target,i.event.fix(n))};i.event.special[t]={setup:function(){var i=this.ownerDocument||this,f=r.access(i,t);f||i.addEventListener(n,u,!0);r.access(i,t,(f||0)+1)},teardown:function(){var i=this.ownerDocument||this,f=r.access(i,t)-1;f?r.access(i,t,f):(i.removeEventListener(n,u,!0),r.remove(i,t))}}});var ct=n.location,ai=i.now(),vi=/\?/;i.parseJSON=function(n){return JSON.parse(n+"")};i.parseXML=function(t){var r;if(!t||"string"!=typeof t)return null;try{r=(new n.DOMParser).parseFromString(t,"text/xml")}catch(u){r=void 0}return r&&!r.getElementsByTagName("parsererror").length||i.error("Invalid XML: "+t),r};var ve=/#.*$/,tf=/([?&])_=[^&]*/,ye=/^(.*?):[ \t]*([^\r\n]*)$/gm,pe=/^(?:GET|HEAD)$/,we=/^\/\//,rf={},yi={},uf="*/".concat("*"),pi=u.createElement("a");pi.href=ct.href;i.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ct.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":uf,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":i.parseJSON,"text xml":i.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(n,t){return t?wi(wi(n,i.ajaxSettings),t):wi(i.ajaxSettings,n)},ajaxPrefilter:ff(rf),ajaxTransport:ff(yi),ajax:function(t,r){function b(t,r,u,h){var a,rt,it,p,b,l=r;2!==s&&(s=2,d&&n.clearTimeout(d),v=void 0,k=h||"",e.readyState=t>0?4:0,a=t>=200&&300>t||304===t,u&&(p=be(f,e,u)),p=ke(f,p,e,a),a?(f.ifModified&&(b=e.getResponseHeader("Last-Modified"),b&&(i.lastModified[o]=b),b=e.getResponseHeader("etag"),b&&(i.etag[o]=b)),204===t||"HEAD"===f.type?l="nocontent":304===t?l="notmodified":(l=p.state,rt=p.data,it=p.error,a=!it)):(it=l,!t&&l||(l="error",0>t&&(t=0))),e.status=t,e.statusText=(r||l)+"",a?nt.resolveWith(c,[rt,l,e]):nt.rejectWith(c,[e,l,it]),e.statusCode(w),w=void 0,y&&g.trigger(a?"ajaxSuccess":"ajaxError",[e,f,a?rt:it]),tt.fireWith(c,[e,l]),y&&(g.trigger("ajaxComplete",[e,f]),--i.active||i.event.trigger("ajaxStop")))}"object"==typeof t&&(r=t,t=void 0);r=r||{};var v,o,k,p,d,l,y,a,f=i.ajaxSetup({},r),c=f.context||f,g=f.context&&(c.nodeType||c.jquery)?i(c):i.event,nt=i.Deferred(),tt=i.Callbacks("once memory"),w=f.statusCode||{},it={},rt={},s=0,ut="canceled",e={readyState:0,getResponseHeader:function(n){var t;if(2===s){if(!p)for(p={};t=ye.exec(k);)p[t[1].toLowerCase()]=t[2];t=p[n.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===s?k:null},setRequestHeader:function(n,t){var i=n.toLowerCase();return s||(n=rt[i]=rt[i]||n,it[n]=t),this},overrideMimeType:function(n){return s||(f.mimeType=n),this},statusCode:function(n){var t;if(n)if(2>s)for(t in n)w[t]=[w[t],n[t]];else e.always(n[e.status]);return this},abort:function(n){var t=n||ut;return v&&v.abort(t),b(0,t),this}};if(nt.promise(e).complete=tt.add,e.success=e.done,e.error=e.fail,f.url=((t||f.url||ct.href)+"").replace(ve,"").replace(we,ct.protocol+"//"),f.type=r.method||r.type||f.method||f.type,f.dataTypes=i.trim(f.dataType||"*").toLowerCase().match(h)||[""],null==f.crossDomain){l=u.createElement("a");try{l.href=f.url;l.href=l.href;f.crossDomain=pi.protocol+"//"+pi.host!=l.protocol+"//"+l.host}catch(ft){f.crossDomain=!0}}if(f.data&&f.processData&&"string"!=typeof f.data&&(f.data=i.param(f.data,f.traditional)),ef(rf,f,r,e),2===s)return e;y=i.event&&f.global;y&&0==i.active++&&i.event.trigger("ajaxStart");f.type=f.type.toUpperCase();f.hasContent=!pe.test(f.type);o=f.url;f.hasContent||(f.data&&(o=f.url+=(vi.test(o)?"&":"?")+f.data,delete f.data),f.cache===!1&&(f.url=tf.test(o)?o.replace(tf,"$1_="+ai++):o+(vi.test(o)?"&":"?")+"_="+ai++));f.ifModified&&(i.lastModified[o]&&e.setRequestHeader("If-Modified-Since",i.lastModified[o]),i.etag[o]&&e.setRequestHeader("If-None-Match",i.etag[o]));(f.data&&f.hasContent&&f.contentType!==!1||r.contentType)&&e.setRequestHeader("Content-Type",f.contentType);e.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+uf+"; q=0.01":""):f.accepts["*"]);for(a in f.headers)e.setRequestHeader(a,f.headers[a]);if(f.beforeSend&&(f.beforeSend.call(c,e,f)===!1||2===s))return e.abort();ut="abort";for(a in{success:1,error:1,complete:1})e[a](f[a]);if(v=ef(yi,f,r,e)){if(e.readyState=1,y&&g.trigger("ajaxSend",[e,f]),2===s)return e;f.async&&f.timeout>0&&(d=n.setTimeout(function(){e.abort("timeout")},f.timeout));try{s=1;v.send(it,b)}catch(ft){if(!(2>s))throw ft;b(-1,ft)}}else b(-1,"No Transport");return e},getJSON:function(n,t,r){return i.get(n,t,r,"json")},getScript:function(n,t){return i.get(n,void 0,t,"script")}});i.each(["get","post"],function(n,t){i[t]=function(n,r,u,f){return i.isFunction(r)&&(f=f||u,u=r,r=void 0),i.ajax(i.extend({url:n,type:t,dataType:f,data:r,success:u},i.isPlainObject(n)&&n))}});i._evalUrl=function(n){return i.ajax({url:n,type:"GET",dataType:"script",async:!1,global:!1,throws:!0})};i.fn.extend({wrapAll:function(n){var t;return i.isFunction(n)?this.each(function(t){i(this).wrapAll(n.call(this,t))}):(this[0]&&(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.firstElementChild;)n=n.firstElementChild;return n}).append(this)),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()}});i.expr.filters.hidden=function(n){return!i.expr.filters.visible(n)};i.expr.filters.visible=function(n){return n.offsetWidth>0||n.offsetHeight>0||n.getClientRects().length>0};var de=/%20/g,ge=/\[\]$/,of=/\r?\n/g,no=/^(?:submit|button|image|reset|file)$/i,to=/^(?:input|select|textarea|keygen)/i;return i.param=function(n,t){var r,u=[],f=function(n,t){t=i.isFunction(t)?t():null==t?"":t;u[u.length]=encodeURIComponent(n)+"="+encodeURIComponent(t)};if(void 0===t&&(t=i.ajaxSettings&&i.ajaxSettings.traditional),i.isArray(n)||n.jquery&&!i.isPlainObject(n))i.each(n,function(){f(this.name,this.value)});else for(r in n)bi(r,n[r],t,f);return u.join("&").replace(de,"+")},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")&&to.test(this.nodeName)&&!no.test(n)&&(this.checked||!yr.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(of,"\r\n")}}):{name:t.name,value:r.replace(of,"\r\n")}}).get()}}),i.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(t){}},sf={0:200,1223:204},ut=i.ajaxSettings.xhr(),f.cors=!!ut&&"withCredentials"in ut,f.ajax=ut=!!ut,i.ajaxTransport(function(t){var i,r;if(f.cors||ut&&!t.crossDomain)return{send:function(u,f){var o,e=t.xhr();if(e.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(o in t.xhrFields)e[o]=t.xhrFields[o];t.mimeType&&e.overrideMimeType&&e.overrideMimeType(t.mimeType);t.crossDomain||u["X-Requested-With"]||(u["X-Requested-With"]="XMLHttpRequest");for(o in u)e.setRequestHeader(o,u[o]);i=function(n){return function(){i&&(i=r=e.onload=e.onerror=e.onabort=e.onreadystatechange=null,"abort"===n?e.abort():"error"===n?"number"!=typeof e.status?f(0,"error"):f(e.status,e.statusText):f(sf[e.status]||e.status,e.statusText,"text"!==(e.responseType||"text")||"string"!=typeof e.responseText?{binary:e.response}:{text:e.responseText},e.getAllResponseHeaders()))}};e.onload=i();r=e.onerror=i("error");void 0!==e.onabort?e.onabort=r:e.onreadystatechange=function(){4===e.readyState&&n.setTimeout(function(){i&&r()})};i=i("abort");try{e.send(t.hasContent&&t.data||null)}catch(s){if(i)throw s;}},abort:function(){i&&i()}}}),i.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(n){return i.globalEval(n),n}}}),i.ajaxPrefilter("script",function(n){void 0===n.cache&&(n.cache=!1);n.crossDomain&&(n.type="GET")}),i.ajaxTransport("script",function(n){if(n.crossDomain){var r,t;return{send:function(f,e){r=i("<script>").prop({charset:n.scriptCharset,src:n.url}).on("load error",t=function(n){r.remove();t=null;n&&e("error"===n.type?404:200,n.type)});u.head.appendChild(r[0])},abort:function(){t&&t()}}}}),ki=[],ni=/(=)\?(?=&|$)|\?\?/,i.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var n=ki.pop()||i.expando+"_"+ai++;return this[n]=!0,n}}),i.ajaxPrefilter("json jsonp",function(t,r,u){var f,e,o,s=t.jsonp!==!1&&(ni.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&ni.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return(f=t.jsonpCallback=i.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(ni,"$1"+f):t.jsonp!==!1&&(t.url+=(vi.test(t.url)?"&":"?")+t.jsonp+"="+f),t.converters["script json"]=function(){return o||i.error(f+" was not called"),o[0]},t.dataTypes[0]="json",e=n[f],n[f]=function(){o=arguments},u.always(function(){void 0===e?i(n).removeProp(f):n[f]=e;t[f]&&(t.jsonpCallback=r.jsonpCallback,ki.push(f));o&&i.isFunction(e)&&e(o[0]);o=e=void 0}),"script")}),i.parseHTML=function(n,t,r){if(!n||"string"!=typeof n)return null;"boolean"==typeof t&&(r=t,t=!1);t=t||u;var f=rr.exec(n),e=!r&&[];return f?[t.createElement(f[1])]:(f=kr([n],t,e),e&&e.length&&i(e).remove(),i.merge([],f.childNodes))},di=i.fn.load,i.fn.load=function(n,t,r){if("string"!=typeof n&&di)return di.apply(this,arguments);var u,o,s,f=this,e=n.indexOf(" ");return e>-1&&(u=i.trim(n.slice(e)),n=n.slice(0,e)),i.isFunction(t)?(r=t,t=void 0):t&&"object"==typeof t&&(o="POST"),f.length>0&&i.ajax({url:n,type:o||"GET",dataType:"html",data:t}).done(function(n){s=arguments;f.html(u?i("<div>").append(i.parseHTML(n)).find(u):n)}).always(r&&function(n,t){f.each(function(){r.apply(this,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.expr.filters.animated=function(n){return i.grep(i.timers,function(t){return n===t.elem}).length},i.offset={setOffset:function(n,t,r){var e,o,s,h,u,c,v,l=i.css(n,"position"),a=i(n),f={};"static"===l&&(n.style.position="relative");u=a.offset();s=i.css(n,"top");c=i.css(n,"left");v=("absolute"===l||"fixed"===l)&&(s+c).indexOf("auto")>-1;v?(e=a.position(),h=e.top,o=e.left):(h=parseFloat(s)||0,o=parseFloat(c)||0);i.isFunction(t)&&(t=t.call(n,r,i.extend({},u)));null!=t.top&&(f.top=t.top-u.top+h);null!=t.left&&(f.left=t.left-u.left+o);"using"in t?t.using.call(n,f):a.css(f)}},i.fn.extend({offset:function(n){if(arguments.length)return void 0===n?this:this.each(function(t){i.offset.setOffset(this,n,t)});var t,f,r=this[0],u={top:0,left:0},e=r&&r.ownerDocument;if(e)return t=e.documentElement,i.contains(t,r)?(u=r.getBoundingClientRect(),f=hf(e),{top:u.top+f.pageYOffset-t.clientTop,left:u.left+f.pageXOffset-t.clientLeft}):u},position:function(){if(this[0]){var n,r,u=this[0],t={top:0,left: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;n&&"static"===i.css(n,"position");)n=n.offsetParent;return n||ht})}}),i.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(n,t){var r="pageYOffset"===t;i.fn[n]=function(i){return a(this,function(n,i,u){var f=hf(n);return void 0===u?f?f[t]:n[i]:void(f?f.scrollTo(r?f.pageXOffset:u,r?u:f.pageYOffset):n[i]=u)},n,i,arguments.length)}}),i.each(["top","left"],function(n,t){i.cssHooks[t]=ci(f.pixelPosition,function(n,r){if(r)return(r=tt(n,t),si.test(r)?i(n).position()[t]+"px":r)})}),i.each({Height:"height",Width:"width"},function(n,t){i.each({padding:"inner"+n,content:t,"":"outer"+n},function(r,u){i.fn[u]=function(u,f){var e=arguments.length&&(r||"boolean"!=typeof u),o=r||(u===!0||f===!0?"margin":"border");return a(this,function(t,r,u){var f;return i.isWindow(t)?t.document.documentElement["client"+n]:9===t.nodeType?(f=t.documentElement,Math.max(t.body["scroll"+n],f["scroll"+n],t.body["offset"+n],f["offset"+n],f["client"+n])):void 0===u?i.css(t,r,o):i.style(t,r,u,o)},t,e?u:void 0,e,null)}})}),i.fn.extend({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)},size:function(){return this.length}}),i.fn.andSelf=i.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return i}),cf=n.jQuery,lf=n.$,i.noConflict=function(t){return n.$===i&&(n.$=lf),t&&n.jQuery===i&&(n.jQuery=cf),i},t||(n.jQuery=n.$=i),i}),!function(n){"use strict";"function"==typeof define&&define.amd?define(["jquery"],n):n(jQuery)}(function(n){"use strict";function vt(n,t,i){return[parseFloat(n[0])*(it.test(n[0])?t/100:1),parseFloat(n[1])*(it.test(n[1])?i/100:1)]}function a(t,i){return parseInt(n.css(t,i),10)||0}function yt(n){return null!=n&&n===n.window}function c(n){return null==n?n+"":"object"==typeof n?rt[gi.call(n)]||"object":typeof n}function v(n,t,i){var r=wt[t.type]||{};return null==n?i||!t.def?null:t.def:(n=r.floor?~~n:parseFloat(n),isNaN(n)?t.def:r.mod?(n+r.mod)%r.mod:Math.min(r.max,Math.max(0,n)))}function kt(n){var u=i(),e=u._rgba=[];return n=n.toLowerCase(),r(tr,function(t,i){var r=i.re.exec(n),r=r&&i.parse(r),i=i.space||"rgba";if(r)return r=u[i](r),u[f[i].cache]=r[f[i].cache],e=u._rgba=r._rgba,!1}),e.length?("0,0,0,0"===e.join()&&t.extend(e,ft.transparent),u):ft[n]}function ut(n,t,i){return 6*(i=(i+1)%1)<1?n+(t-n)*i*6:2*i<1?t:3*i<2?n+(t-n)*(2/3-i)*6:n}function oi(n){var i,r,t=n.ownerDocument.defaultView?n.ownerDocument.defaultView.getComputedStyle(n,null):n.currentStyle,u={};if(t&&t.length&&t[0]&&t[t[0]])for(r=t.length;r--;)"string"==typeof t[i=t[r]]&&(u[i.replace(/-([\da-z])/gi,function(n,t){return t.toUpperCase()})]=t[i]);else for(i in t)"string"==typeof t[i]&&(u[i]=t[i]);return u}function w(t,i,r,u){return t={effect:t=n.isPlainObject(t)?(i=t).effect:t},"function"==typeof(i=null==i?{}:i)&&(u=i,r=null,i={}),"number"!=typeof i&&!n.fx.speeds[i]||(u=r,r=i,i={}),"function"==typeof r&&(u=r,r=null),i&&n.extend(t,i),r=r||i.duration,t.duration=n.fx.off?0:"number"==typeof r?r:r in n.fx.speeds?n.fx.speeds[r]:n.fx.speeds._default,t.complete=u||i.complete,t}function st(t){return!t||"number"==typeof t||n.fx.speeds[t]||"string"==typeof t&&!n.effects.effect[t]||"function"==typeof t||"object"==typeof t&&!t.effect}function si(n,t){var i=t.outerWidth(),t=t.outerHeight(),n=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/.exec(n)||["",0,i,t,0];return{top:parseFloat(n[1])||0,right:"auto"===n[2]?i:parseFloat(n[2]),bottom:"auto"===n[3]?t:parseFloat(n[3]),left:parseFloat(n[4])||0}}function yi(){this._curInst=null;this._keyEvent=!1;this._disabledInputs=[];this._datepickerShowing=!1;this._inDialog=!1;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass="ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:"",selectMonthLabel:"Select month",selectYearLabel:"Select year"};this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,onUpdateDatepicker:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1};n.extend(this._defaults,this.regional[""]);this.regional.en=n.extend(!0,{},this.regional[""]);this.regional["en-US"]=n.extend(!0,{},this.regional.en);this.dpDiv=pi(n("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'><\/div>"))}function pi(t){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return t.on("mouseout",i,function(){n(this).removeClass("ui-state-hover");-1!==this.className.indexOf("ui-datepicker-prev")&&n(this).removeClass("ui-datepicker-prev-hover");-1!==this.className.indexOf("ui-datepicker-next")&&n(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",i,wi)}function wi(){n.datepicker._isDisabledDatepicker((e.inline?e.dpDiv.parent():e.input)[0])||(n(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),n(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&n(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&n(this).addClass("ui-datepicker-next-hover"))}function b(t,i){for(var r in n.extend(t,i),i)null==i[r]&&(t[r]=i[r]);return t}function bi(n,t,i){return t<=n&&n<t+i}function o(n){return function(){var t=this.element.val();n.apply(this,arguments);this._refresh();t!==this.element.val()&&this._trigger("change")}}var k,s,u,d,g,nt,tt,it,at,hi,ci,li,ai,vi,e,l,ht;n.ui=n.ui||{};n.ui.version="1.13.2";var ct,ki=0,di=Array.prototype.hasOwnProperty,lt=Array.prototype.slice;n.cleanData=(ct=n.cleanData,function(t){for(var r,i,u=0;null!=(i=t[u]);u++)(r=n._data(i,"events"))&&r.remove&&n(i).triggerHandler("remove");ct(t)});n.widget=function(t,i,r){var f,u,o,h={},e=t.split(".")[0],s=e+"-"+(t=t.split(".")[1]);return r||(r=i,i=n.Widget),Array.isArray(r)&&(r=n.extend.apply(null,[{}].concat(r))),n.expr.pseudos[s.toLowerCase()]=function(t){return!!n.data(t,s)},n[e]=n[e]||{},f=n[e][t],u=n[e][t]=function(n,t){if(!this||!this._createWidget)return new u(n,t);arguments.length&&this._createWidget(n,t)},n.extend(u,f,{version:r.version,_proto:n.extend({},r),_childConstructors:[]}),(o=new i).options=n.widget.extend({},o.options),n.each(r,function(n,t){function r(){return i.prototype[n].apply(this,arguments)}function u(t){return i.prototype[n].apply(this,t)}h[n]="function"==typeof t?function(){var n,i=this._super,f=this._superApply;return this._super=r,this._superApply=u,n=t.apply(this,arguments),this._super=i,this._superApply=f,n}:t}),u.prototype=n.widget.extend(o,{widgetEventPrefix:f&&o.widgetEventPrefix||t},h,{constructor:u,namespace:e,widgetName:t,widgetFullName:s}),f?(n.each(f._childConstructors,function(t,i){var r=i.prototype;n.widget(r.namespace+"."+r.widgetName,u,i._proto)}),delete f._childConstructors):i._childConstructors.push(u),n.widget.bridge(t,u),u};n.widget.extend=function(t){for(var i,r,f=lt.call(arguments,1),u=0,e=f.length;u<e;u++)for(i in f[u])r=f[u][i],di.call(f[u],i)&&void 0!==r&&(t[i]=n.isPlainObject(r)?n.isPlainObject(t[i])?n.widget.extend({},t[i],r):n.widget.extend({},r):r);return t};n.widget.bridge=function(t,i){var r=i.prototype.widgetFullName||t;n.fn[t]=function(u){var o="string"==typeof u,e=lt.call(arguments,1),f=this;return o?this.length||"instance"!==u?this.each(function(){var i,o=n.data(this,r);return"instance"===u?(f=o,!1):o?"function"!=typeof o[u]||"_"===u.charAt(0)?n.error("no such method '"+u+"' for "+t+" widget instance"):(i=o[u].apply(o,e))!==o&&void 0!==i?(f=i&&i.jquery?f.pushStack(i.get()):i,!1):void 0:n.error("cannot call methods on "+t+" prior to initialization; attempted to call method '"+u+"'")}):f=void 0:(e.length&&(u=n.widget.extend.apply(null,[u].concat(e))),this.each(function(){var t=n.data(this,r);t?(t.option(u||{}),t._init&&t._init()):n.data(this,r,new i(u,this))})),f}};n.Widget=function(){};n.Widget._childConstructors=[];n.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,i){i=n(i||this.defaultElement||this)[0];this.element=n(i);this.uuid=ki++;this.eventNamespace="."+this.widgetName+this.uuid;this.bindings=n();this.hoverable=n();this.focusable=n();this.classesElementLookup={};i!==this&&(n.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(n){n.target===i&&this.destroy()}}),this.document=n(i.style?i.ownerDocument:i.document||i),this.window=n(this.document[0].defaultView||this.document[0].parentWindow));this.options=n.widget.extend({},this.options,this._getCreateOptions(),t);this._create();this.options.disabled&&this._setOptionDisabled(this.options.disabled);this._trigger("create",null,this._getCreateEventData());this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:n.noop,_create:n.noop,_init:n.noop,destroy:function(){var t=this;this._destroy();n.each(this.classesElementLookup,function(n,i){t._removeClass(i,n)});this.element.off(this.eventNamespace).removeData(this.widgetFullName);this.widget().off(this.eventNamespace).removeAttr("aria-disabled");this.bindings.off(this.eventNamespace)},_destroy:n.noop,widget:function(){return this.element},option:function(t,i){var u,r,f,e=t;if(0===arguments.length)return n.widget.extend({},this.options);if("string"==typeof t)if(e={},t=(u=t.split(".")).shift(),u.length){for(r=e[t]=n.widget.extend({},this.options[t]),f=0;f<u.length-1;f++)r[u[f]]=r[u[f]]||{},r=r[u[f]];if(t=u.pop(),1===arguments.length)return void 0===r[t]?null:r[t];r[t]=i}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];e[t]=i}return this._setOptions(e),this},_setOptions:function(n){for(var t in n)this._setOption(t,n[t]);return this},_setOption:function(n,t){return"classes"===n&&this._setOptionClasses(t),this.options[n]=t,"disabled"===n&&this._setOptionDisabled(t),this},_setOptionClasses:function(t){var i,u,r;for(i in t)r=this.classesElementLookup[i],t[i]!==this.options.classes[i]&&r&&r.length&&(u=n(r.get()),this._removeClass(r,i),u.addClass(this._classes({element:u,keys:i,classes:t,add:!0})))},_setOptionDisabled:function(n){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!n);n&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(t){function u(u,f){for(var o,e=0;e<u.length;e++)o=i.classesElementLookup[u[e]]||n(),o=t.add?(function(){var r=[];t.element.each(function(t,u){n.map(i.classesElementLookup,function(n){return n}).some(function(n){return n.is(u)})||r.push(u)});i._on(n(r),{remove:"_untrackClassesElement"})}(),n(n.uniqueSort(o.get().concat(t.element.get())))):n(o.not(t.element).get()),i.classesElementLookup[u[e]]=o,r.push(u[e]),f&&t.classes[u[e]]&&r.push(t.classes[u[e]])}var r=[],i=this;return(t=n.extend({element:this.element,classes:this.options.classes||{}},t)).keys&&u(t.keys.match(/\S+/g)||[],!0),t.extra&&u(t.extra.match(/\S+/g)||[]),r.join(" ")},_untrackClassesElement:function(t){var i=this;n.each(i.classesElementLookup,function(r,u){-1!==n.inArray(t.target,u)&&(i.classesElementLookup[r]=n(u.not(t.target).get()))});this._off(n(t.target))},_removeClass:function(n,t,i){return this._toggleClass(n,t,i,!1)},_addClass:function(n,t,i){return this._toggleClass(n,t,i,!0)},_toggleClass:function(n,t,i,r){var u="string"==typeof n||null===n,i={extra:u?t:i,keys:u?n:t,element:u?this.element:n,add:r="boolean"==typeof r?r:i};return i.element.toggleClass(this._classes(i),r),this},_on:function(t,i,r){var f,u=this;"boolean"!=typeof t&&(r=i,i=t,t=!1);r?(i=f=n(i),this.bindings=this.bindings.add(i)):(r=i,i=this.element,f=this.widget());n.each(r,function(r,e){function s(){if(t||!0!==u.options.disabled&&!n(this).hasClass("ui-state-disabled"))return("string"==typeof e?u[e]:e).apply(u,arguments)}"string"!=typeof e&&(s.guid=e.guid=e.guid||s.guid||n.guid++);var o=r.match(/^([\w:-]*)\s*(.*)$/),r=o[1]+u.eventNamespace,o=o[2];o?f.on(r,o,s):i.on(r,s)})},_off:function(t,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace;t.off(i);this.bindings=n(this.bindings.not(t).get());this.focusable=n(this.focusable.not(t).get());this.hoverable=n(this.hoverable.not(t).get())},_delay:function(n,t){var i=this;return setTimeout(function(){return("string"==typeof n?i[n]:n).apply(i,arguments)},t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t);this._on(t,{mouseenter:function(t){this._addClass(n(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(n(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t);this._on(t,{focusin:function(t){this._addClass(n(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(n(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,i,r){var u,f,e=this.options[t];if(r=r||{},(i=n.Event(i)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],f=i.originalEvent)for(u in f)u in i||(i[u]=f[u]);return this.element.trigger(i,r),!("function"==typeof e&&!1===e.apply(this.element[0],[i].concat(r))||i.isDefaultPrevented())}};n.each({show:"fadeIn",hide:"fadeOut"},function(t,i){n.Widget.prototype["_"+t]=function(r,u,f){var o,e=(u="string"==typeof u?{effect:u}:u)?!0!==u&&"number"!=typeof u&&u.effect||i:t;"number"==typeof(u=u||{})?u={duration:u}:!0===u&&(u={});o=!n.isEmptyObject(u);u.complete=f;u.delay&&r.delay(u.delay);o&&n.effects&&n.effects.effect[e]?r[t](u):e!==t&&r[e]?r[e](u.duration,u.easing,f):r.queue(function(i){n(this)[t]();f&&f.call(r[0]);i()})}});n.widget;s=Math.max;u=Math.abs;d=/left|center|right/;g=/top|center|bottom/;nt=/[\+\-]\d+(\.[\d]+)?%?/;tt=/^\w+/;it=/%$/;at=n.fn.position;n.position={scrollbarWidth:function(){if(void 0!==k)return k;var r,t=n("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'><\/div><\/div>"),i=t.children()[0];return n("body").append(t),r=i.offsetWidth,t.css("overflow","scroll"),r===(i=i.offsetWidth)&&(i=t[0].clientWidth),t.remove(),k=r-i},getScrollInfo:function(t){var i=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),r=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),i="scroll"===i||"auto"===i&&t.width<t.element[0].scrollWidth;return{width:"scroll"===r||"auto"===r&&t.height<t.element[0].scrollHeight?n.position.scrollbarWidth():0,height:i?n.position.scrollbarWidth():0}},getWithinInfo:function(t){var i=n(t||window),r=yt(i[0]),u=!!i[0]&&9===i[0].nodeType;return{element:i,isWindow:r,isDocument:u,offset:!r&&!u?n(t).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}};n.fn.position=function(t){if(!t||!t.of)return at.apply(this,arguments);var o,r,f,h,e,c,v="string"==typeof(t=n.extend({},t)).of?n(document).find(t.of):n(t.of),p=n.position.getWithinInfo(t.within),w=n.position.getScrollInfo(p),l=(t.collision||"flip").split(" "),y={},i=9===(c=(i=v)[0]).nodeType?{width:i.width(),height:i.height(),offset:{top:0,left:0}}:yt(c)?{width:i.width(),height:i.height(),offset:{top:i.scrollTop(),left:i.scrollLeft()}}:c.preventDefault?{width:0,height:0,offset:{top:c.pageY,left:c.pageX}}:{width:i.outerWidth(),height:i.outerHeight(),offset:i.offset()};return v[0].preventDefault&&(t.at="left top"),r=i.width,f=i.height,e=n.extend({},h=i.offset),n.each(["my","at"],function(){var i,r,n=(t[this]||"").split(" ");(n=1===n.length?d.test(n[0])?n.concat(["center"]):g.test(n[0])?["center"].concat(n):["center","center"]:n)[0]=d.test(n[0])?n[0]:"center";n[1]=g.test(n[1])?n[1]:"center";i=nt.exec(n[0]);r=nt.exec(n[1]);y[this]=[i?i[0]:0,r?r[0]:0];t[this]=[tt.exec(n[0])[0],tt.exec(n[1])[0]]}),1===l.length&&(l[1]=l[0]),"right"===t.at[0]?e.left+=r:"center"===t.at[0]&&(e.left+=r/2),"bottom"===t.at[1]?e.top+=f:"center"===t.at[1]&&(e.top+=f/2),o=vt(y.at,r,f),e.left+=o[0],e.top+=o[1],this.each(function(){var g,nt,c=n(this),b=c.outerWidth(),k=c.outerHeight(),tt=a(this,"marginLeft"),it=a(this,"marginTop"),rt=b+tt+a(this,"marginRight")+w.width,ut=k+it+a(this,"marginBottom")+w.height,i=n.extend({},e),d=vt(y.my,c.outerWidth(),c.outerHeight());"right"===t.my[0]?i.left-=b:"center"===t.my[0]&&(i.left-=b/2);"bottom"===t.my[1]?i.top-=k:"center"===t.my[1]&&(i.top-=k/2);i.left+=d[0];i.top+=d[1];g={marginLeft:tt,marginTop:it};n.each(["left","top"],function(u,e){n.ui.position[l[u]]&&n.ui.position[l[u]][e](i,{targetWidth:r,targetHeight:f,elemWidth:b,elemHeight:k,collisionPosition:g,collisionWidth:rt,collisionHeight:ut,offset:[o[0]+d[0],o[1]+d[1]],my:t.my,at:t.at,within:p,elem:c})});t.using&&(nt=function(n){var e=h.left-i.left,a=e+r-b,o=h.top-i.top,y=o+f-k,l={target:{element:v,left:h.left,top:h.top,width:r,height:f},element:{element:c,left:i.left,top:i.top,width:b,height:k},horizontal:a<0?"left":0<e?"right":"center",vertical:y<0?"top":0<o?"bottom":"middle"};r<b&&u(e+a)<r&&(l.horizontal="center");f<k&&u(o+y)<f&&(l.vertical="middle");l.important=s(u(e),u(a))>s(u(o),u(y))?"horizontal":"vertical";t.using.call(this,n,l)});c.offset(n.extend(i,{using:nt}))})};n.ui.position={fit:{left:function(n,t){var r=t.within,u=r.isWindow?r.scrollLeft:r.offset.left,e=r.width,o=n.left-t.collisionPosition.marginLeft,i=u-o,f=o+t.collisionWidth-e-u;t.collisionWidth>e?0<i&&f<=0?(r=n.left+i+t.collisionWidth-e-u,n.left+=i-r):n.left=!(0<f&&i<=0)&&f<i?u+e-t.collisionWidth:u:0<i?n.left+=i:0<f?n.left-=f:n.left=s(n.left-o,n.left)},top:function(n,t){var r=t.within,u=r.isWindow?r.scrollTop:r.offset.top,e=t.within.height,o=n.top-t.collisionPosition.marginTop,i=u-o,f=o+t.collisionHeight-e-u;t.collisionHeight>e?0<i&&f<=0?(r=n.top+i+t.collisionHeight-e-u,n.top+=i-r):n.top=!(0<f&&i<=0)&&f<i?u+e-t.collisionHeight:u:0<i?n.top+=i:0<f?n.top-=f:n.top=s(n.top-o,n.top)}},flip:{left:function(n,t){var i=t.within,o=i.offset.left+i.scrollLeft,s=i.width,f=i.isWindow?i.scrollLeft:i.offset.left,r=n.left-t.collisionPosition.marginLeft,h=r-f,c=r+t.collisionWidth-s-f,e="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,i="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,r=-2*t.offset[0];h<0?((o=n.left+e+i+r+t.collisionWidth-s-o)<0||o<u(h))&&(n.left+=e+i+r):0<c&&(0<(f=n.left-t.collisionPosition.marginLeft+e+i+r-f)||u(f)<c)&&(n.left+=e+i+r)},top:function(n,t){var i=t.within,o=i.offset.top+i.scrollTop,s=i.height,f=i.isWindow?i.scrollTop:i.offset.top,r=n.top-t.collisionPosition.marginTop,h=r-f,c=r+t.collisionHeight-s-f,e="top"===t.my[1]?-t.elemHeight:"bottom"===t.my[1]?t.elemHeight:0,i="top"===t.at[1]?t.targetHeight:"bottom"===t.at[1]?-t.targetHeight:0,r=-2*t.offset[1];h<0?((o=n.top+e+i+r+t.collisionHeight-s-o)<0||o<u(h))&&(n.top+=e+i+r):0<c&&(0<(f=n.top-t.collisionPosition.marginTop+e+i+r-f)||u(f)<c)&&(n.top+=e+i+r)}},flipfit:{left:function(){n.ui.position.flip.left.apply(this,arguments);n.ui.position.fit.left.apply(this,arguments)},top:function(){n.ui.position.flip.top.apply(this,arguments);n.ui.position.fit.top.apply(this,arguments)}}};n.ui.position;n.extend(n.expr.pseudos,{data:n.expr.createPseudo?n.expr.createPseudo(function(t){return function(i){return!!n.data(i,t)}}):function(t,i,r){return!!n.data(t,r[3])}});n.fn.extend({disableSelection:(pt="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.on(pt+".ui-disableSelection",function(n){n.preventDefault()})}),enableSelection:function(){return this.off(".ui-disableSelection")}});var pt,t=n,rt={},gi=rt.toString,nr=/^([\-+])=\s*(\d+\.?\d*)/,tr=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(n){return[n[1],n[2],n[3],n[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(n){return[2.55*n[1],2.55*n[2],2.55*n[3],n[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?/,parse:function(n){return[parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16),n[4]?(parseInt(n[4],16)/255).toFixed(2):1]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?/,parse:function(n){return[parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[3],16),n[4]?(parseInt(n[4]+n[4],16)/255).toFixed(2):1]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(n){return[n[1],n[2]/100,n[3]/100,n[4]]}}],i=t.Color=function(n,i,r,u){return new t.Color.fn.parse(n,i,r,u)},f={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},wt={byte:{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},bt=i.support={},h=t("<p>")[0],r=t.each;h.style.cssText="background-color:rgba(1,1,1,.5)";bt.rgba=-1<h.style.backgroundColor.indexOf("rgba");r(f,function(n,t){t.cache="_"+n;t.props.alpha={idx:3,type:"percent",def:1}});t.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(n,t){rt["[object "+t+"]"]=t.toLowerCase()});(i.fn=t.extend(i.prototype,{parse:function(n,u,e,o){if(void 0===n)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(u),u=void 0);var s=this,h=c(n),l=this._rgba=[];return void 0!==u&&(n=[n,u,e,o],h="array"),"string"===h?this.parse(kt(n)||ft._default):"array"===h?(r(f.rgba.props,function(t,i){l[i.idx]=v(n[i.idx],i)}),this):"object"===h?(r(f,n instanceof i?function(t,i){n[i.cache]&&(s[i.cache]=n[i.cache].slice())}:function(i,u){var f=u.cache;r(u.props,function(t,i){if(!s[f]&&u.to){if("alpha"===t||null==n[t])return;s[f]=u.to(s._rgba)}s[f][i.idx]=v(n[t],i,!0)});s[f]&&t.inArray(null,s[f].slice(0,3))<0&&(null==s[f][3]&&(s[f][3]=1),u.from&&(s._rgba=u.from(s[f])))}),this):void 0},is:function(n){var e=i(n),t=!0,u=this;return r(f,function(n,i){var o,f=e[i.cache];return f&&(o=u[i.cache]||i.to&&i.to(u._rgba)||[],r(i.props,function(n,i){if(null!=f[i.idx])return t=f[i.idx]===o[i.idx]})),t}),t},_space:function(){var n=[],t=this;return r(f,function(i,r){t[r.cache]&&n.push(i)}),n.pop()},transition:function(n,t){var s=(o=i(n))._space(),u=f[s],n=0===this.alpha()?i("transparent"):this,h=n[u.cache]||u.to(n._rgba),e=h.slice(),o=o[u.cache];return r(u.props,function(n,i){var s=i.idx,r=h[s],u=o[s],f=wt[i.type]||{};null!==u&&(null===r?e[s]=u:(f.mod&&(u-r>f.mod/2?r+=f.mod:r-u>f.mod/2&&(r-=f.mod)),e[s]=v((u-r)*t+r,i)))}),this[s](e)},blend:function(n){if(1===this._rgba[3])return this;var r=this._rgba.slice(),u=r.pop(),f=i(n)._rgba;return i(t.map(r,function(n,t){return(1-u)*f[t]+u*n}))},toRgbaString:function(){var i="rgba(",n=t.map(this._rgba,function(n,t){return null!=n?n:2<t?1:0});return 1===n[3]&&(n.pop(),i="rgb("),i+n.join()+")"},toHslaString:function(){var i="hsla(",n=t.map(this.hsla(),function(n,t){return null==n&&(n=2<t?1:0),n=t&&t<3?Math.round(100*n)+"%":n});return 1===n[3]&&(n.pop(),i="hsl("),i+n.join()+")"},toHexString:function(n){var i=this._rgba.slice(),r=i.pop();return n&&i.push(~~(255*r)),"#"+t.map(i,function(n){return 1===(n=(n||0).toString(16)).length?"0"+n:n}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}})).parse.prototype=i.fn;f.hsla.to=function(n){if(null==n[0]||null==n[1]||null==n[2])return[null,null,null,n[3]];var r=n[0]/255,t=n[1]/255,e=n[2]/255,s=n[3],u=Math.max(r,t,e),o=Math.min(r,t,e),i=u-o,f=u+o,n=.5*f,t=o===u?0:r===u?60*(t-e)/i+360:t===u?60*(e-r)/i+120:60*(r-t)/i+240,f=0==i?0:n<=.5?i/f:i/(2-f);return[Math.round(t)%360,f,n,null==s?1:s]};f.hsla.from=function(n){if(null==n[0]||null==n[1]||null==n[2])return[null,null,null,n[3]];var r=n[0]/360,i=n[1],t=n[2],n=n[3],i=t<=.5?t*(1+i):t+i-t*i,t=2*t-i;return[Math.round(255*ut(t,i,r+1/3)),Math.round(255*ut(t,i,r)),Math.round(255*ut(t,i,r-1/3)),n]};r(f,function(n,t){var f=t.props,u=t.cache,e=t.to,o=t.from;i.fn[n]=function(n){if(e&&!this[u]&&(this[u]=e(this._rgba)),void 0===n)return this[u].slice();var s=c(n),h="array"===s||"object"===s?n:arguments,t=this[u].slice();return r(f,function(n,i){n=h["object"===s?n:i.idx];null==n&&(n=t[i.idx]);t[i.idx]=v(n,i)}),o?((n=i(o(t)))[u]=t,n):i(t)};r(f,function(t,r){i.fn[t]||(i.fn[t]=function(i){var f,u=c(i),s="alpha"===t?this._hsla?"hsla":"rgba":n,e=this[s](),o=e[r.idx];return"undefined"===u?o:("function"===u&&(u=c(i=i.call(this,o))),null==i&&r.empty?this:("string"===u&&(f=nr.exec(i))&&(i=o+parseFloat(f[2])*("+"===f[1]?1:-1)),e[r.idx]=i,this[s](e)))})})});(i.hook=function(n){n=n.split(" ");r(n,function(n,r){t.cssHooks[r]={set:function(n,u){var o,f,e="";if("transparent"!==u&&("string"!==c(u)||(o=kt(u)))){if(u=i(o||u),!bt.rgba&&1!==u._rgba[3]){for(f="backgroundColor"===r?n.parentNode:n;(""===e||"transparent"===e)&&f&&f.style;)try{e=t.css(f,"backgroundColor");f=f.parentNode}catch(n){}u=u.blend(e&&"transparent"!==e?e:"_default")}u=u.toRgbaString()}try{n.style[r]=u}catch(n){}}};t.fx.step[r]=function(n){n.colorInit||(n.start=i(n.elem,r),n.end=i(n.end),n.colorInit=!0);t.cssHooks[r].set(n.elem,n.start.transition(n.end,n.pos))}})})("backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor");t.cssHooks.borderColor={expand:function(n){var t={};return r(["Top","Right","Bottom","Left"],function(i,r){t["border"+r+"Color"]=n}),t}};var dt,gt,ni,ti,ii,ri,ui,fi,ei,y,ft=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"},p="ui-effects-",et="ui-effects-style",ot="ui-effects-animated";n.effects={effect:{}};ti=["add","remove","toggle"];ii={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};n.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(i,r){n.fx.step[r]=function(n){("none"===n.end||n.setAttr)&&(1!==n.pos||n.setAttr)||(t.style(n.elem,r,n.end),n.setAttr=!0)}});n.fn.addBack||(n.fn.addBack=function(n){return this.add(null==n?this.prevObject:this.prevObject.filter(n))});n.effects.animateClass=function(t,i,r,u){var f=n.speed(i,r,u);return this.queue(function(){var i=n(this),e=i.attr("class")||"",r=(r=f.children?i.find("*").addBack():i).map(function(){return{el:n(this),start:oi(this)}}),u=function(){n.each(ti,function(n,r){t[r]&&i[r+"Class"](t[r])})};u();r=r.map(function(){return this.end=oi(this.el[0]),this.diff=function(t,i){var r,u,f={};for(r in i)u=i[r],t[r]!==u&&(ii[r]||!n.fx.step[r]&&isNaN(parseFloat(u))||(f[r]=u));return f}(this.start,this.end),this});i.attr("class",e);r=r.map(function(){var i=this,t=n.Deferred(),r=n.extend({},f,{queue:!1,complete:function(){t.resolve(i)}});return this.el.animate(this.diff,r),t.promise()});n.when.apply(n,r.get()).done(function(){u();n.each(arguments,function(){var t=this.el;n.each(this.diff,function(n){t.css(n,"")})});f.complete.call(i[0])})})};n.fn.extend({addClass:(ni=n.fn.addClass,function(t,i,r,u){return i?n.effects.animateClass.call(this,{add:t},i,r,u):ni.apply(this,arguments)}),removeClass:(gt=n.fn.removeClass,function(t,i,r,u){return 1<arguments.length?n.effects.animateClass.call(this,{remove:t},i,r,u):gt.apply(this,arguments)}),toggleClass:(dt=n.fn.toggleClass,function(t,i,r,u,f){return"boolean"==typeof i||void 0===i?r?n.effects.animateClass.call(this,i?{add:t}:{remove:t},r,u,f):dt.apply(this,arguments):n.effects.animateClass.call(this,{toggle:t},i,r,u)}),switchClass:function(t,i,r,u,f){return n.effects.animateClass.call(this,{add:i,remove:t},r,u,f)}});n.expr&&n.expr.pseudos&&n.expr.pseudos.animated&&(n.expr.pseudos.animated=(ri=n.expr.pseudos.animated,function(t){return!!n(t).data(ot)||ri(t)}));!1!==n.uiBackCompat&&n.extend(n.effects,{save:function(n,t){for(var i=0,r=t.length;i<r;i++)null!==t[i]&&n.data(p+t[i],n[0].style[t[i]])},restore:function(n,t){for(var r,i=0,u=t.length;i<u;i++)null!==t[i]&&(r=n.data(p+t[i]),n.css(t[i],r))},setMode:function(n,t){return"toggle"===t?n.is(":hidden")?"show":"hide":t},createWrapper:function(t){if(t.parent().is(".ui-effects-wrapper"))return t.parent();var i={width:t.outerWidth(!0),height:t.outerHeight(!0),float:t.css("float")},u=n("<div><\/div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),f={width:t.width(),height:t.height()},r=document.activeElement;try{r.id}catch(u){r=document.body}return t.wrap(u),t[0]!==r&&!n.contains(t[0],r)||n(r).trigger("focus"),u=t.parent(),"static"===t.css("position")?(u.css({position:"relative"}),t.css({position:"relative"})):(n.extend(i,{position:t.css("position"),zIndex:t.css("z-index")}),n.each(["top","left","bottom","right"],function(n,r){i[r]=t.css(r);isNaN(parseInt(i[r],10))&&(i[r]="auto")}),t.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),t.css(f),u.css(i).show()},removeWrapper:function(t){var i=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),t[0]!==i&&!n.contains(t[0],i)||n(i).trigger("focus")),t}});n.extend(n.effects,{version:"1.13.2",define:function(t,i,r){return r||(r=i,i="effect"),n.effects.effect[t]=r,n.effects.effect[t].mode=i,r},scaledDimensions:function(n,t,i){if(0===t)return{height:0,width:0,outerHeight:0,outerWidth:0};var r="horizontal"!==i?(t||100)/100:1,t="vertical"!==i?(t||100)/100:1;return{height:n.height()*t,width:n.width()*r,outerHeight:n.outerHeight()*t,outerWidth:n.outerWidth()*r}},clipToBox:function(n){return{width:n.clip.right-n.clip.left,height:n.clip.bottom-n.clip.top,left:n.clip.left,top:n.clip.top}},unshift:function(n,t,i){var r=n.queue();1<t&&r.splice.apply(r,[1,0].concat(r.splice(t,i)));n.dequeue()},saveStyle:function(n){n.data(et,n[0].style.cssText)},restoreStyle:function(n){n[0].style.cssText=n.data(et)||"";n.removeData(et)},mode:function(n,t){return n=n.is(":hidden"),"toggle"===t&&(t=n?"show":"hide"),t=(n?"hide"===t:"show"===t)?"none":t},getBaseline:function(n,t){var i,r;switch(n[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=n[0]/t.height}switch(n[1]){case"left":r=0;break;case"center":r=.5;break;case"right":r=1;break;default:r=n[1]/t.width}return{x:r,y:i}},createPlaceholder:function(t){var i,r=t.css("position"),u=t.position();return t.css({marginTop:t.css("marginTop"),marginBottom:t.css("marginBottom"),marginLeft:t.css("marginLeft"),marginRight:t.css("marginRight")}).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()),/^(static|relative)/.test(r)&&(r="absolute",i=n("<"+t[0].nodeName+">").insertAfter(t).css({display:/^(inline|ruby)/.test(t.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:t.css("marginTop"),marginBottom:t.css("marginBottom"),marginLeft:t.css("marginLeft"),marginRight:t.css("marginRight"),float:t.css("float")}).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).addClass("ui-effects-placeholder"),t.data(p+"placeholder",i)),t.css({position:r,left:u.left,top:u.top}),i},removePlaceholder:function(n){var t=p+"placeholder",i=n.data(t);i&&(i.remove(),n.removeData(t))},cleanUp:function(t){n.effects.restoreStyle(t);n.effects.removePlaceholder(t)},setTransition:function(t,i,r,u){return u=u||{},n.each(i,function(n,i){var f=t.cssUnit(i);0<f[0]&&(u[i]=f[0]*r+f[1])}),u}});n.fn.extend({effect:function(){function e(t){var f=n(this),u=n.effects.mode(f,i)||r;f.data(ot,!0);h.push(u);r&&("show"===u||u===r&&"hide"===u)&&f.show();r&&"none"===u||n.effects.saveStyle(f);"function"==typeof t&&t()}function c(e){function s(){"function"==typeof u&&u.call(o[0]);"function"==typeof e&&e()}var o=n(this);t.mode=h.shift();!1===n.uiBackCompat||r?"none"===t.mode?(o[i](),s()):f.call(o[0],t,function(){o.removeData(ot);n.effects.cleanUp(o);"hide"===t.mode&&o.hide();s()}):(o.is(":hidden")?"hide"===i:"show"===i)?(o[i](),s()):f.call(o[0],t,s)}var t=w.apply(this,arguments),f=n.effects.effect[t.effect],r=f.mode,o=t.queue,s=o||"fx",u=t.complete,i=t.mode,h=[];return n.fx.off||!f?i?this[i](t.duration,u):this.each(function(){u&&u.call(this)}):!1===o?this.each(e).each(c):this.queue(s,e).queue(s,c)},show:(ei=n.fn.show,function(n){return st(n)?ei.apply(this,arguments):(n=w.apply(this,arguments),n.mode="show",this.effect.call(this,n))}),hide:(fi=n.fn.hide,function(n){return st(n)?fi.apply(this,arguments):(n=w.apply(this,arguments),n.mode="hide",this.effect.call(this,n))}),toggle:(ui=n.fn.toggle,function(n){return st(n)||"boolean"==typeof n?ui.apply(this,arguments):(n=w.apply(this,arguments),n.mode="toggle",this.effect.call(this,n))}),cssUnit:function(t){var i=this.css(t),r=[];return n.each(["em","px","%","pt"],function(n,t){0<i.indexOf(t)&&(r=[parseFloat(i),t])}),r},cssClip:function(n){return n?this.css("clip","rect("+n.top+"px "+n.right+"px "+n.bottom+"px "+n.left+"px)"):si(this.css("clip"),this)},transfer:function(t,i){var f=n(this),r=n(t.to),e="fixed"===r.css("position"),u=n("body"),o=e?u.scrollTop():0,s=e?u.scrollLeft():0,u=r.offset(),u={top:u.top-o,left:u.left-s,height:r.innerHeight(),width:r.innerWidth()},r=f.offset(),h=n("<div class='ui-effects-transfer'><\/div>");h.appendTo("body").addClass(t.className).css({top:r.top-o,left:r.left-s,height:f.innerHeight(),width:f.innerWidth(),position:e?"fixed":"absolute"}).animate(u,t.duration,t.easing,function(){h.remove();"function"==typeof i&&i()})}});n.fx.step.clip=function(t){t.clipInit||(t.start=n(t.elem).cssClip(),"string"==typeof t.end&&(t.end=si(t.end,t.elem)),t.clipInit=!0);n(t.elem).cssClip({top:t.pos*(t.end.top-t.start.top)+t.start.top,right:t.pos*(t.end.right-t.start.right)+t.start.right,bottom:t.pos*(t.end.bottom-t.start.bottom)+t.start.bottom,left:t.pos*(t.end.left-t.start.left)+t.start.left})};y={};n.each(["Quad","Cubic","Quart","Quint","Expo"],function(n,t){y[t]=function(t){return Math.pow(t,n+2)}});n.extend(y,{Sine:function(n){return 1-Math.cos(n*Math.PI/2)},Circ:function(n){return 1-Math.sqrt(1-n*n)},Elastic:function(n){return 0===n||1===n?n:-Math.pow(2,8*(n-1))*Math.sin((80*(n-1)-7.5)*Math.PI/15)},Back:function(n){return n*n*(3*n-2)},Bounce:function(n){for(var t,i=4;n<((t=Math.pow(2,--i))-1)/11;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*t-2)/22-n,2)}});n.each(y,function(t,i){n.easing["easeIn"+t]=i;n.easing["easeOut"+t]=function(n){return 1-i(1-n)};n.easing["easeInOut"+t]=function(n){return n<.5?i(2*n)/2:1-i(-2*n+2)/2}});h=n.effects;n.effects.define("blind","hide",function(t,i){var e={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},u=n(this),o=t.direction||"up",s=u.cssClip(),r={clip:n.extend({},s)},f=n.effects.createPlaceholder(u);r.clip[e[o][0]]=r.clip[e[o][1]];"show"===t.mode&&(u.cssClip(r.clip),f&&f.css(n.effects.clipToBox(r)),r.clip=s);f&&f.animate(n.effects.clipToBox(r),t.duration,t.easing);u.animate(r,{queue:!1,duration:t.duration,easing:t.easing,complete:i})});n.effects.define("bounce",function(t,i){var s,h,u=n(this),o=t.mode,c="hide"===o,p="show"===o,f=t.direction||"up",r=t.distance,v=t.times||5,o=2*v+(p||c?1:0),l=t.duration/o,a=t.easing,e="up"===f||"down"===f?"top":"left",y="up"===f||"left"===f,w=0,t=u.queue().length;for(n.effects.createPlaceholder(u),f=u.css(e),r=r||u["top"==e?"outerHeight":"outerWidth"]()/3,p&&((h={opacity:1})[e]=f,u.css("opacity",0).css(e,y?2*-r:2*r).animate(h,l,a)),c&&(r/=Math.pow(2,v-1)),(h={})[e]=f;w<v;w++)(s={})[e]=(y?"-=":"+=")+r,u.animate(s,l,a).animate(h,l,a),r=c?2*r:r/2;c&&((s={opacity:0})[e]=(y?"-=":"+=")+r,u.animate(s,l,a));u.queue(i);n.effects.unshift(u,t,1+o)});n.effects.define("clip","hide",function(t,i){var f={},e=n(this),r=t.direction||"vertical",u="both"===r,o=u||"horizontal"===r,u=u||"vertical"===r,r=e.cssClip();f.clip={top:u?(r.bottom-r.top)/2:r.top,right:o?(r.right-r.left)/2:r.right,bottom:u?(r.bottom-r.top)/2:r.bottom,left:o?(r.right-r.left)/2:r.left};n.effects.createPlaceholder(e);"show"===t.mode&&(e.cssClip(f.clip),f.clip=r);e.animate(f,{queue:!1,duration:t.duration,easing:t.easing,complete:i})});n.effects.define("drop","hide",function(t,i){var f=n(this),s="show"===t.mode,r=t.direction||"left",e="up"===r||"down"===r?"top":"left",o="up"===r||"left"===r?"-=":"+=",h="+="==o?"-=":"+=",u={opacity:0};n.effects.createPlaceholder(f);r=t.distance||f["top"==e?"outerHeight":"outerWidth"](!0)/2;u[e]=o+r;s&&(f.css(u),u[e]=h+r,u.opacity=1);f.animate(u,{queue:!1,duration:t.duration,easing:t.easing,complete:i})});n.effects.define("explode","hide",function(t,i){function b(){p.push(this);p.length===e*c&&(o.css({visibility:"visible"}),n(p).remove(),i())}for(var u,l,a,v,y,e=t.pieces?Math.round(Math.sqrt(t.pieces)):3,c=e,o=n(this),f="show"===t.mode,w=o.show().css("visibility","hidden").offset(),s=Math.ceil(o.outerWidth()/c),h=Math.ceil(o.outerHeight()/e),p=[],r=0;r<e;r++)for(a=w.top+r*h,y=r-(e-1)/2,u=0;u<c;u++)l=w.left+u*s,v=u-(c-1)/2,o.clone().appendTo("body").wrap("<div><\/div>").css({position:"absolute",visibility:"visible",left:-u*s,top:-r*h}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:s,height:h,left:l+(f?v*s:0),top:a+(f?y*h:0),opacity:f?0:1}).animate({left:l+(f?0:v*s),top:a+(f?0:y*h),opacity:f?1:0},t.duration||500,t.easing,b)});n.effects.define("fade","toggle",function(t,i){var r="show"===t.mode;n(this).css("opacity",r?0:1).animate({opacity:r?1:0},{queue:!1,duration:t.duration,easing:t.easing,complete:i})});n.effects.define("fold","hide",function(t,i){var u=n(this),o=t.mode,v="show"===o,y="hide"===o,s=t.size||15,a=/([0-9]+)%/.exec(s),f=!t.horizFirst?["bottom","right"]:["right","bottom"],h=t.duration/2,c=n.effects.createPlaceholder(u),e=u.cssClip(),l={clip:n.extend({},e)},r={clip:n.extend({},e)},p=[e[f[0]],e[f[1]]],o=u.queue().length;a&&(s=parseInt(a[1],10)/100*p[y?0:1]);l.clip[f[0]]=s;r.clip[f[0]]=s;r.clip[f[1]]=0;v&&(u.cssClip(r.clip),c&&c.css(n.effects.clipToBox(r)),r.clip=e);u.queue(function(i){c&&c.animate(n.effects.clipToBox(l),h,t.easing).animate(n.effects.clipToBox(r),h,t.easing);i()}).animate(l,h,t.easing).animate(r,h,t.easing).queue(i);n.effects.unshift(u,o,4)});n.effects.define("highlight","show",function(t,i){var r=n(this),u={backgroundColor:r.css("backgroundColor")};"hide"===t.mode&&(u.opacity=0);n.effects.saveStyle(r);r.css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(u,{queue:!1,duration:t.duration,easing:t.easing,complete:i})});n.effects.define("size",function(t,i){var r,u=n(this),y=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],c=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],a=t.mode,p="effect"!==a,l=t.scale||"both",s=t.origin||["middle","center"],w=u.css("position"),v=u.position(),o=n.effects.scaledDimensions(u),f=t.from||o,e=t.to||n.effects.scaledDimensions(u,0);n.effects.createPlaceholder(u);"show"===a&&(a=f,f=e,e=a);r={from:{y:f.height/o.height,x:f.width/o.width},to:{y:e.height/o.height,x:e.width/o.width}};"box"!==l&&"both"!==l||(r.from.y!==r.to.y&&(f=n.effects.setTransition(u,h,r.from.y,f),e=n.effects.setTransition(u,h,r.to.y,e)),r.from.x!==r.to.x&&(f=n.effects.setTransition(u,c,r.from.x,f),e=n.effects.setTransition(u,c,r.to.x,e)));"content"!==l&&"both"!==l||r.from.y!==r.to.y&&(f=n.effects.setTransition(u,y,r.from.y,f),e=n.effects.setTransition(u,y,r.to.y,e));s&&(s=n.effects.getBaseline(s,o),f.top=(o.outerHeight-f.outerHeight)*s.y+v.top,f.left=(o.outerWidth-f.outerWidth)*s.x+v.left,e.top=(o.outerHeight-e.outerHeight)*s.y+v.top,e.left=(o.outerWidth-e.outerWidth)*s.x+v.left);delete f.outerHeight;delete f.outerWidth;u.css(f);"content"!==l&&"both"!==l||(h=h.concat(["marginTop","marginBottom"]).concat(y),c=c.concat(["marginLeft","marginRight"]),u.find("*[width]").each(function(){var u=n(this),i=n.effects.scaledDimensions(u),f={height:i.height*r.from.y,width:i.width*r.from.x,outerHeight:i.outerHeight*r.from.y,outerWidth:i.outerWidth*r.from.x},i={height:i.height*r.to.y,width:i.width*r.to.x,outerHeight:i.height*r.to.y,outerWidth:i.width*r.to.x};r.from.y!==r.to.y&&(f=n.effects.setTransition(u,h,r.from.y,f),i=n.effects.setTransition(u,h,r.to.y,i));r.from.x!==r.to.x&&(f=n.effects.setTransition(u,c,r.from.x,f),i=n.effects.setTransition(u,c,r.to.x,i));p&&n.effects.saveStyle(u);u.css(f);u.animate(i,t.duration,t.easing,function(){p&&n.effects.restoreStyle(u)})}));u.animate(e,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){var t=u.offset();0===e.opacity&&u.css("opacity",f.opacity);p||(u.css("position","static"===w?"relative":w).offset(t),n.effects.saveStyle(u));i()}})});n.effects.define("scale",function(t,i){var u=n(this),r=t.mode,r=parseInt(t.percent,10)||(0===parseInt(t.percent,10)||"effect"!==r?0:100),r=n.extend(!0,{from:n.effects.scaledDimensions(u),to:n.effects.scaledDimensions(u,r,t.direction||"both"),origin:t.origin||["middle","center"]},t);t.fade&&(r.from.opacity=1,r.to.opacity=0);n.effects.effect.size.call(this,r,i)});n.effects.define("puff","hide",function(t,i){t=n.extend(!0,{},t,{fade:!0,percent:parseInt(t.percent,10)||150});n.effects.effect.scale.call(this,t,i)});n.effects.define("pulsate","show",function(t,i){var r=n(this),f=t.mode,o="show"===f,e=2*(t.times||5)+(o||"hide"===f?1:0),s=t.duration/e,u=0,h=1,f=r.queue().length;for(!o&&r.is(":visible")||(r.css("opacity",0).show(),u=1);h<e;h++)r.animate({opacity:u},s,t.easing),u=1-u;r.animate({opacity:u},s,t.easing);r.queue(i);n.effects.unshift(r,f,1+e)});n.effects.define("shake",function(t,i){var l=1,r=n(this),u=t.direction||"left",e=t.distance||20,a=t.times||3,v=2*a+1,f=Math.round(t.duration/v),o="up"===u||"down"===u?"top":"left",s="up"===u||"left"===u,h={},c={},y={},u=r.queue().length;for(n.effects.createPlaceholder(r),h[o]=(s?"-=":"+=")+e,c[o]=(s?"+=":"-=")+2*e,y[o]=(s?"-=":"+=")+2*e,r.animate(h,f,t.easing);l<a;l++)r.animate(c,f,t.easing).animate(y,f,t.easing);r.animate(c,f,t.easing).animate(h,f/2,t.easing).queue(i);n.effects.unshift(r,u,1+v)});n.effects.define("slide","show",function(t,i){var s,o,u=n(this),h={up:["bottom","top"],down:["top","bottom"],left:["right","left"],right:["left","right"]},c=t.mode,f=t.direction||"left",e="up"===f||"down"===f?"top":"left",l="up"===f||"left"===f,a=t.distance||u["top"==e?"outerHeight":"outerWidth"](!0),r={};n.effects.createPlaceholder(u);s=u.cssClip();o=u.position()[e];r[e]=(l?-1:1)*a+o;r.clip=u.cssClip();r.clip[h[f][1]]=r.clip[h[f][0]];"show"===c&&(u.cssClip(r.clip),u.css(e,r[e]),r.clip=s,r[e]=o);u.animate(r,{queue:!1,duration:t.duration,easing:t.easing,complete:i})});h=!1!==n.uiBackCompat?n.effects.define("transfer",function(t,i){n(this).transfer(t,i)}):h;n.ui.focusable=function(t,i){var e,r,u,o,f=t.nodeName.toLowerCase();return"area"===f?(r=(e=t.parentNode).name,!(!t.href||!r||"map"!==e.nodeName.toLowerCase())&&0<(r=n("img[usemap='#"+r+"']")).length&&r.is(":visible")):(/^(input|select|textarea|button|object)$/.test(f)?(u=!t.disabled)&&(o=n(t).closest("fieldset")[0])&&(u=!o.disabled):u="a"===f&&t.href||i,u&&n(t).is(":visible")&&function(n){for(var t=n.css("visibility");"inherit"===t;)n=n.parent(),t=n.css("visibility");return"visible"===t}(n(t)))};n.extend(n.expr.pseudos,{focusable:function(t){return n.ui.focusable(t,null!=n.attr(t,"tabindex"))}});n.ui.focusable;n.fn._form=function(){return"string"==typeof this[0].form?this.closest("form"):n(this[0].form)};n.ui.formResetMixin={_formResetHandler:function(){var t=n(this);setTimeout(function(){var i=t.data("ui-form-reset-instances");n.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){var n;this.form=this.element._form();this.form.length&&((n=this.form.data("ui-form-reset-instances")||[]).length||this.form.on("reset.ui-form-reset",this._formResetHandler),n.push(this),this.form.data("ui-form-reset-instances",n))},_unbindFormResetHandler:function(){var t;this.form.length&&((t=this.form.data("ui-form-reset-instances")).splice(n.inArray(this,t),1),t.length?this.form.data("ui-form-reset-instances",t):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))}};n.expr.pseudos||(n.expr.pseudos=n.expr[":"]);n.uniqueSort||(n.uniqueSort=n.unique);n.escapeSelector||(hi=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,ci=function(n,t){return t?"\0"===n?"�":n.slice(0,-1)+"\\"+n.charCodeAt(n.length-1).toString(16)+" ":"\\"+n},n.escapeSelector=function(n){return(n+"").replace(hi,ci)});n.fn.even&&n.fn.odd||n.fn.extend({even:function(){return this.filter(function(n){return n%2==0})},odd:function(){return this.filter(function(n){return n%2==1})}});n.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38};n.fn.labels=function(){var t,r,i;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(r=this.eq(0).parents("label"),(t=this.attr("id"))&&(i=(i=this.eq(0).parents().last()).add((i.length?i:this).siblings()),t="label[for='"+n.escapeSelector(t)+"']",r=r.add(i.find(t).addBack(t))),this.pushStack(r)):this.pushStack([])};n.fn.scrollParent=function(t){var i=this.css("position"),r="absolute"===i,u=t?/(auto|scroll|hidden)/:/(auto|scroll)/,t=this.parents().filter(function(){var t=n(this);return(!r||"static"!==t.css("position"))&&u.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==i&&t.length?t:n(this[0].ownerDocument||document)};n.extend(n.expr.pseudos,{tabbable:function(t){var i=n.attr(t,"tabindex"),r=null!=i;return(!r||0<=i)&&n.ui.focusable(t,r)}});n.fn.extend({uniqueId:(li=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++li)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&n(this).removeAttr("id")})}});n.widget("ui.accordion",{version:"1.13.2",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:function(n){return n.find("> li > :first-child").add(n.find("> :not(li)").even())},heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var t=this.options;this.prevShow=this.prevHide=n();this._addClass("ui-accordion","ui-widget ui-helper-reset");this.element.attr("role","tablist");t.collapsible||!1!==t.active&&null!=t.active||(t.active=0);this._processPanels();t.active<0&&(t.active+=this.headers.length);this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():n()}},_createIcons:function(){var t,i=this.options.icons;i&&(t=n("<span>"),this._addClass(t,"ui-accordion-header-icon","ui-icon "+i.header),t.prependTo(this.headers),t=this.active.children(".ui-accordion-header-icon"),this._removeClass(t,i.header)._addClass(t,null,i.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons");this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var n;this.element.removeAttr("role");this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId();this._destroyIcons();n=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId();"content"!==this.options.heightStyle&&n.css("height","")},_setOption:function(n,t){"active"!==n?("event"===n&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(n,t),"collapsible"!==n||t||!1!==this.options.active||this._activate(0),"icons"===n&&(this._destroyIcons(),t&&this._createIcons())):this._activate(t)},_setOptionDisabled:function(n){this._super(n);this.element.attr("aria-disabled",n);this._toggleClass(null,"ui-state-disabled",!!n);this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!n)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var i=n.ui.keyCode,u=this.headers.length,f=this.headers.index(t.target),r=!1;switch(t.keyCode){case i.RIGHT:case i.DOWN:r=this.headers[(f+1)%u];break;case i.LEFT:case i.UP:r=this.headers[(f-1+u)%u];break;case i.SPACE:case i.ENTER:this._eventHandler(t);break;case i.HOME:r=this.headers[0];break;case i.END:r=this.headers[u-1]}r&&(n(t.target).attr("tabIndex",-1),n(r).attr("tabIndex",0),n(r).trigger("focus"),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===n.ui.keyCode.UP&&t.ctrlKey&&n(t.currentTarget).prev().trigger("focus")},refresh:function(){var t=this.options;this._processPanels();!1===t.active&&!0===t.collapsible||!this.headers.length?(t.active=!1,this.active=n()):!1===t.active?this._activate(0):this.active.length&&!n.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=n()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active);this._destroyIcons();this._refresh()},_processPanels:function(){var t=this.headers,n=this.panels;this.headers="function"==typeof this.options.header?this.options.header(this.element):this.element.find(this.options.header);this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default");this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide();this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content");n&&(this._off(t.not(this.headers)),this._off(n.not(this.panels)))},_refresh:function(){var t,i=this.options,r=i.heightStyle,u=this.element.parent();this.active=this._findActive(i.active);this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed");this._addClass(this.active.next(),"ui-accordion-content-active");this.active.next().show();this.headers.attr("role","tab").each(function(){var t=n(this),r=t.uniqueId().attr("id"),i=t.next(),u=i.uniqueId().attr("id");t.attr("aria-controls",u);i.attr("aria-labelledby",r)}).next().attr("role","tabpanel");this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide();this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0);this._createIcons();this._setupEvents(i.event);"fill"===r?(t=u.height(),this.element.siblings(":visible").each(function(){var i=n(this),r=i.css("position");"absolute"!==r&&"fixed"!==r&&(t-=i.outerHeight(!0))}),this.headers.each(function(){t-=n(this).outerHeight(!0)}),this.headers.next().each(function(){n(this).height(Math.max(0,t-n(this).innerHeight()+n(this).height()))}).css("overflow","auto")):"auto"===r&&(t=0,this.headers.next().each(function(){var i=n(this).is(":visible");i||n(this).show();t=Math.max(t,n(this).css("height","").height());i||n(this).hide()}).height(t))},_activate:function(t){t=this._findActive(t)[0];t!==this.active[0]&&(t=t||this.active[0],this._eventHandler({target:t,currentTarget:t,preventDefault:n.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):n()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&n.each(t.split(" "),function(n,t){i[t]="_eventHandler"});this._off(this.headers.add(this.headers.next()));this._on(this.headers,i);this._on(this.headers.next(),{keydown:"_panelKeyDown"});this._hoverable(this.headers);this._focusable(this.headers)},_eventHandler:function(t){var i=this.options,u=this.active,r=n(t.currentTarget),f=r[0]===u[0],o=f&&i.collapsible,e=o?n():r.next(),s=u.next(),e={oldHeader:u,oldPanel:s,newHeader:o?n():r,newPanel:e};t.preventDefault();f&&!i.collapsible||!1===this._trigger("beforeActivate",t,e)||(i.active=!o&&this.headers.index(r),this.active=f?n():r,this._toggle(e),this._removeClass(u,"ui-accordion-header-active","ui-state-active"),i.icons&&(u=u.children(".ui-accordion-header-icon"),this._removeClass(u,null,i.icons.activeHeader)._addClass(u,null,i.icons.header)),f||(this._removeClass(r,"ui-accordion-header-collapsed")._addClass(r,"ui-accordion-header-active","ui-state-active"),i.icons&&(f=r.children(".ui-accordion-header-icon"),this._removeClass(f,null,i.icons.header)._addClass(f,null,i.icons.activeHeader)),this._addClass(r.next(),"ui-accordion-content-active")))},_toggle:function(t){var r=t.newPanel,i=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0);this.prevShow=r;this.prevHide=i;this.options.animate?this._animate(r,i,t):(i.hide(),r.show(),this._toggleComplete(t));i.attr({"aria-hidden":"true"});i.prev().attr({"aria-selected":"false","aria-expanded":"false"});r.length&&i.length?i.prev().attr({tabIndex:-1,"aria-expanded":"false"}):r.length&&this.headers.filter(function(){return 0===parseInt(n(this).attr("tabIndex"),10)}).attr("tabIndex",-1);r.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(n,t,i){var h,r,u,c=this,s=0,l=n.css("box-sizing"),e=n.length&&(!t.length||n.index()<t.index()),o=this.options.animate||{},f=e&&o.down||o,e=function(){c._toggleComplete(i)};return r=(r="string"==typeof f?f:r)||f.easing||o.easing,u=(u="number"==typeof f?f:u)||f.duration||o.duration,t.length?n.length?(h=n.show().outerHeight(),t.animate(this.hideProps,{duration:u,easing:r,step:function(n,t){t.now=Math.round(n)}}),void n.hide().animate(this.showProps,{duration:u,easing:r,complete:e,step:function(n,i){i.now=Math.round(n);"height"!==i.prop?"content-box"===l&&(s+=i.now):"content"!==c.options.heightStyle&&(i.now=Math.round(h-t.outerHeight()-s),s=0)}})):t.animate(this.hideProps,u,r,e):n.animate(this.showProps,u,r,e)},_toggleComplete:function(n){var t=n.oldPanel,i=t.prev();this._removeClass(t,"ui-accordion-content-active");this._removeClass(i,"ui-accordion-header-active")._addClass(i,"ui-accordion-header-collapsed");t.length&&(t.parent()[0].className=t.parent()[0].className);this._trigger("activate",null,n)}});n.ui.safeActiveElement=function(n){var t;try{t=n.activeElement}catch(i){t=n.body}return t=(t=t||n.body).nodeName?t:n.body};n.widget("ui.menu",{version:"1.13.2",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element;this.mouseHandled=!1;this.lastMousePosition={x:null,y:null};this.element.uniqueId().attr({role:this.options.role,tabIndex:0});this._addClass("ui-menu","ui-widget ui-widget-content");this._on({"mousedown .ui-menu-item":function(n){n.preventDefault();this._activateItem(n)},"click .ui-menu-item":function(t){var i=n(t.target),r=n(n.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&r.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(n,t){var i=this.active||this._menuItems().first();t||this.focus(n,i)},blur:function(t){this._delay(function(){n.contains(this.element[0],n.ui.safeActiveElement(this.document[0]))||this.collapseAll(t)})},keydown:"_keydown"});this.refresh();this._on(this.document,{click:function(n){this._closeOnDocumentClick(n)&&this.collapseAll(n,!0);this.mouseHandled=!1}})},_activateItem:function(t){var r,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},r=n(t.target).closest(".ui-menu-item"),i=n(t.currentTarget),r[0]===i[0]&&(i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show();t.children().each(function(){var t=n(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var i,r,u,f=!0;switch(t.keyCode){case n.ui.keyCode.PAGE_UP:this.previousPage(t);break;case n.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case n.ui.keyCode.HOME:this._move("first","first",t);break;case n.ui.keyCode.END:this._move("last","last",t);break;case n.ui.keyCode.UP:this.previous(t);break;case n.ui.keyCode.DOWN:this.next(t);break;case n.ui.keyCode.LEFT:this.collapse(t);break;case n.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case n.ui.keyCode.ENTER:case n.ui.keyCode.SPACE:this._activate(t);break;case n.ui.keyCode.ESCAPE:this.collapse(t);break;default:i=this.previousFilter||"";u=f=!1;r=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode);clearTimeout(this.filterTimer);r===i?u=!0:r=i+r;i=this._filterMenuItems(r);(i=u&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i).length||(r=String.fromCharCode(t.keyCode),i=this._filterMenuItems(r));i.length?(this.focus(t,i),this.previousFilter=r,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}f&&t.preventDefault()},_activate:function(n){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(n):this.select(n))},refresh:function(){var r,t,u=this,f=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length);t=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=n(this),i=t.prev(),r=n("<span>").data("ui-menu-submenu-caret",!0);u._addClass(r,"ui-menu-icon","ui-icon "+f);i.attr("aria-haspopup","true").prepend(r);t.attr("aria-labelledby",i.attr("id"))});this._addClass(t,"ui-menu","ui-widget ui-widget-content ui-front");(r=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=n(this);u._isDivider(t)&&u._addClass(t,"ui-menu-divider","ui-widget-content")});i=(t=r.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()});this._addClass(t,"ui-menu-item")._addClass(i,"ui-menu-item-wrapper");r.filter(".ui-state-disabled").attr("aria-disabled","true");this.active&&!n.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(n,t){var i;"icons"===n&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,t.submenu));this._super(n,t)},_setOptionDisabled:function(n){this._super(n);this.element.attr("aria-disabled",String(n));this._toggleClass(null,"ui-state-disabled",!!n)},focus:function(n,t){var i;this.blur(n,n&&"focus"===n.type);this._scrollIntoView(t);this.active=t.first();i=this.active.children(".ui-menu-item-wrapper");this._addClass(i,null,"ui-state-active");this.options.role&&this.element.attr("aria-activedescendant",i.attr("id"));i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper");this._addClass(i,null,"ui-state-active");n&&"keydown"===n.type?this._close():this.timer=this._delay(function(){this._close()},this.delay);(i=t.children(".ui-menu")).length&&n&&/^mouse/.test(n.type)&&this._startOpening(i);this.activeMenu=t.parent();this._trigger("focus",n,{item:t})},_scrollIntoView:function(t){var i,r,u;this._hasScroll()&&(r=parseFloat(n.css(this.activeMenu[0],"borderTopWidth"))||0,u=parseFloat(n.css(this.activeMenu[0],"paddingTop"))||0,i=t.offset().top-this.activeMenu.offset().top-r-u,r=this.activeMenu.scrollTop(),u=this.activeMenu.height(),t=t.outerHeight(),i<0?this.activeMenu.scrollTop(r+i):u<i+t&&this.activeMenu.scrollTop(r+i-u+t))},blur:function(n,t){t||clearTimeout(this.timer);this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",n,{item:this.active}),this.active=null)},_startOpening:function(n){clearTimeout(this.timer);"true"===n.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close();this._open(n)},this.delay))},_open:function(t){var i=n.extend({of:this.active},this.options.position);clearTimeout(this.timer);this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true");t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(t,i){clearTimeout(this.timer);this.timer=this._delay(function(){var r=i?this.element:n(t&&t.target).closest(this.element.find(".ui-menu"));r.length||(r=this.element);this._close(r);this.blur(t);this._removeClass(r.find(".ui-state-active"),null,"ui-state-active");this.activeMenu=r},i?0:this.delay)},_close:function(n){(n=n||(this.active?this.active.parent():this.element)).find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(t){return!n(t.target).closest(".ui-menu").length},_isDivider:function(n){return!/[^\-\u2014\u2013\s]/.test(n.text())},collapse:function(n){var t=this.active&&this.active.parent().closest(".ui-menu-item",this.element);t&&t.length&&(this._close(),this.focus(n,t))},expand:function(n){var t=this.active&&this._menuItems(this.active.children(".ui-menu")).first();t&&t.length&&(this._open(t.parent()),this._delay(function(){this.focus(n,t)}))},next:function(n){this._move("next","first",n)},previous:function(n){this._move("prev","last",n)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_menuItems:function(n){return(n||this.element).find(this.options.items).filter(".ui-menu-item")},_move:function(n,t,i){var r;(r=this.active?"first"===n||"last"===n?this.active["first"===n?"prevAll":"nextAll"](".ui-menu-item").last():this.active[n+"All"](".ui-menu-item").first():r)&&r.length&&this.active||(r=this._menuItems(this.activeMenu)[t]());this.focus(i,r)},nextPage:function(t){var r,u,i;this.active?this.isLastItem()||(this._hasScroll()?(u=this.active.offset().top,i=this.element.innerHeight(),0===n.fn.jquery.indexOf("3.2.")&&(i+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.nextAll(".ui-menu-item").each(function(){return(r=n(this)).offset().top-u-i<0}),this.focus(t,r)):this.focus(t,this._menuItems(this.activeMenu)[this.active?"last":"first"]())):this.next(t)},previousPage:function(t){var r,u,i;this.active?this.isFirstItem()||(this._hasScroll()?(u=this.active.offset().top,i=this.element.innerHeight(),0===n.fn.jquery.indexOf("3.2.")&&(i+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.prevAll(".ui-menu-item").each(function(){return 0<(r=n(this)).offset().top-u+i}),this.focus(t,r)):this.focus(t,this._menuItems(this.activeMenu).first())):this.next(t)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(t){this.active=this.active||n(t.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(t,!0);this._trigger("select",t,i)},_filterMenuItems:function(t){var t=t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),i=new RegExp("^"+t,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return i.test(String.prototype.trim.call(n(this).children(".ui-menu-item-wrapper").text()))})}});n.widget("ui.autocomplete",{version:"1.13.2",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var t,r,u,i=this.element[0].nodeName.toLowerCase(),f="textarea"===i,i="input"===i;this.isMultiLine=f||!i&&this._isContentEditable(this.element);this.valueMethod=this.element[f||i?"val":"text"];this.isNewMenu=!0;this._addClass("ui-autocomplete-input");this.element.attr("autocomplete","off");this._on(this.element,{keydown:function(i){if(this.element.prop("readOnly"))r=u=t=!0;else{r=u=t=!1;var f=n.ui.keyCode;switch(i.keyCode){case f.PAGE_UP:t=!0;this._move("previousPage",i);break;case f.PAGE_DOWN:t=!0;this._move("nextPage",i);break;case f.UP:t=!0;this._keyEvent("previous",i);break;case f.DOWN:t=!0;this._keyEvent("next",i);break;case f.ENTER:this.menu.active&&(t=!0,i.preventDefault(),this.menu.select(i));break;case f.TAB:this.menu.active&&this.menu.select(i);break;case f.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(i),i.preventDefault());break;default:r=!0;this._searchTimeout(i)}}},keypress:function(i){if(t)return t=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||i.preventDefault());if(!r){var u=n.ui.keyCode;switch(i.keyCode){case u.PAGE_UP:this._move("previousPage",i);break;case u.PAGE_DOWN:this._move("nextPage",i);break;case u.UP:this._keyEvent("previous",i);break;case u.DOWN:this._keyEvent("next",i)}}},input:function(n){if(u)return u=!1,void n.preventDefault();this._searchTimeout(n)},focus:function(){this.selectedItem=null;this.previous=this._value()},blur:function(n){clearTimeout(this.searching);this.close(n);this._change(n)}});this._initSource();this.menu=n("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance");this._addClass(this.menu.element,"ui-autocomplete","ui-front");this._on(this.menu.element,{mousedown:function(n){n.preventDefault()},menufocus:function(t,i){var u,r;if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){n(t.target).trigger(t.originalEvent)});r=i.item.data("ui-autocomplete-item");!1!==this._trigger("focus",t,{item:r})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(r.value);(u=i.item.attr("aria-label")||r.value)&&String.prototype.trim.call(u).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(n("<div>").text(u))},100))},menuselect:function(t,i){var r=i.item.data("ui-autocomplete-item"),u=this.previous;this.element[0]!==n.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=u,this._delay(function(){this.previous=u;this.selectedItem=r}));!1!==this._trigger("select",t,{item:r})&&this._value(r.value);this.term=this._value();this.close(t);this.selectedItem=r}});this.liveRegion=n("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body);this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible");this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching);this.element.removeAttr("autocomplete");this.menu.element.remove();this.liveRegion.remove()},_setOption:function(n,t){this._super(n,t);"source"===n&&this._initSource();"appendTo"===n&&this.menu.element.appendTo(this._appendTo());"disabled"===n&&t&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var i=this.menu.element[0];return t.target===this.element[0]||t.target===i||n.contains(i,t.target)},_closeOnClickOutside:function(n){this._isEventTargetInWidget(n)||this.close()},_appendTo:function(){var t=this.options.appendTo;return(t=!(t=t&&(t.jquery||t.nodeType?n(t):this.document.find(t).eq(0)))||!t[0]?this.element.closest(".ui-front, dialog"):t).length?t:this.document[0].body},_initSource:function(){var i,r,t=this;Array.isArray(this.options.source)?(i=this.options.source,this.source=function(t,r){r(n.ui.autocomplete.filter(i,t.term))}):"string"==typeof this.options.source?(r=this.options.source,this.source=function(i,u){t.xhr&&t.xhr.abort();t.xhr=n.ajax({url:r,data:i,dataType:"json",success:function(n){u(n)},error:function(){u([])}})}):this.source=this.options.source},_searchTimeout:function(n){clearTimeout(this.searching);this.searching=this._delay(function(){var t=this.term===this._value(),i=this.menu.element.is(":visible"),r=n.altKey||n.ctrlKey||n.metaKey||n.shiftKey;t&&(i||r)||(this.selectedItem=null,this.search(null,n))},this.options.delay)},search:function(n,t){return n=null!=n?n:this._value(),this.term=this._value(),n.length<this.options.minLength?this.close(t):!1!==this._trigger("search",t)?this._search(n):void 0},_search:function(n){this.pending++;this._addClass("ui-autocomplete-loading");this.cancelSearch=!1;this.source({term:n},this._response())},_response:function(){var n=++this.requestIndex;return function(t){n===this.requestIndex&&this.__response(t);this.pending--;this.pending||this._removeClass("ui-autocomplete-loading")}.bind(this)},__response:function(n){n=n&&this._normalize(n);this._trigger("response",null,{content:n});!this.options.disabled&&n&&n.length&&!this.cancelSearch?(this._suggest(n),this._trigger("open")):this._close()},close:function(n){this.cancelSearch=!0;this._close(n)},_close:function(n){this._off(this.document,"mousedown");this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",n))},_change:function(n){this.previous!==this._value()&&this._trigger("change",n,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:n.map(t,function(t){return"string"==typeof t?{label:t,value:t}:n.extend({},t,{label:t.label||t.value,value:t.value||t.label})})},_suggest:function(t){var i=this.menu.element.empty();this._renderMenu(i,t);this.isNewMenu=!0;this.menu.refresh();i.show();this._resizeMenu();i.position(n.extend({of:this.element},this.options.position));this.options.autoFocus&&this.menu.next();this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var n=this.menu.element;n.outerWidth(Math.max(n.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(t,i){var r=this;n.each(i,function(n,i){r._renderItemData(t,i)})},_renderItemData:function(n,t){return this._renderItem(n,t).data("ui-autocomplete-item",t)},_renderItem:function(t,i){return n("<li>").append(n("<div>").text(i.label)).appendTo(t)},_move:function(n,t){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(n)||this.menu.isLastItem()&&/^next/.test(n)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[n](t);this.search(null,t)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(n,t){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(n,t),t.preventDefault())},_isContentEditable:function(n){if(!n.length)return!1;var t=n.prop("contentEditable");return"inherit"===t?this._isContentEditable(n.parent()):"true"===t}});n.extend(n.ui.autocomplete,{escapeRegex:function(n){return n.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var r=new RegExp(n.ui.autocomplete.escapeRegex(i),"i");return n.grep(t,function(n){return r.test(n.label||n.value||n)})}});n.widget("ui.autocomplete",n.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(n){return n+(1<n?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var i;this._superApply(arguments);this.options.disabled||this.cancelSearch||(i=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(n("<div>").text(i))},100))}});n.ui.autocomplete;ai=/ui-corner-([a-z]){2,6}/g;n.widget("ui.controlgroup",{version:"1.13.2",defaultElement:"<div>",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar");this.refresh()},_destroy:function(){this._callChildMethod("destroy");this.childWidgets.removeData("ui-controlgroup-data");this.element.removeAttr("role");this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var t=this,i=[];n.each(this.options.items,function(r,u){var f,e={};if(u)return"controlgroupLabel"===r?((f=t.element.find(u)).each(function(){var t=n(this);t.children(".ui-controlgroup-label-contents").length||t.contents().wrapAll("<span class='ui-controlgroup-label-contents'><\/span>")}),t._addClass(f,null,"ui-widget ui-widget-content ui-state-default"),void(i=i.concat(f.get()))):void(n.fn[r]&&(e=t["_"+r+"Options"]?t["_"+r+"Options"]("middle"):{classes:{}},t.element.find(u).each(function(){var u=n(this),o=u[r]("instance"),f=n.widget.extend({},e);"button"===r&&u.parent(".ui-spinner").length||((o=o||u[r]()[r]("instance"))&&(f.classes=t._resolveClassesValues(f.classes,o)),u[r](f),f=u[r]("widget"),n.data(f[0],"ui-controlgroup-data",o||u[r]("instance")),i.push(f[0]))})))});this.childWidgets=n(n.uniqueSort(i));this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(t){this.childWidgets.each(function(){var i=n(this).data("ui-controlgroup-data");i&&i[t]&&i[t]()})},_updateCornerClass:function(n,t){t=this._buildSimpleOptions(t,"label").classes.label;this._removeClass(n,null,"ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all");this._addClass(n,null,t)},_buildSimpleOptions:function(n,t){var i="vertical"===this.options.direction,r={classes:{}};return r.classes[t]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[n],r},_spinnerOptions:function(n){return n=this._buildSimpleOptions(n,"ui-spinner"),n.classes["ui-spinner-up"]="",n.classes["ui-spinner-down"]="",n},_buttonOptions:function(n){return this._buildSimpleOptions(n,"ui-button")},_checkboxradioOptions:function(n){return this._buildSimpleOptions(n,"ui-checkboxradio-label")},_selectmenuOptions:function(n){var t="vertical"===this.options.direction;return{width:t&&"auto",classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(t?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(t?"top":"left")},last:{"ui-selectmenu-button-open":t?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(t?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[n]}},_resolveClassesValues:function(t,i){var r={};return n.each(t,function(n){var u=i.options.classes[n]||"",u=String.prototype.trim.call(u.replace(ai,""));r[n]=(u+" "+t[n]).replace(/\s+/g," ")}),r},_setOption:function(n,t){"direction"===n&&this._removeClass("ui-controlgroup-"+this.options.direction);this._super(n,t);"disabled"!==n?this.refresh():this._callChildMethod(t?"disable":"enable")},refresh:function(){var t,i=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction);"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix");this._initWidgets();t=this.childWidgets;(t=this.options.onlyVisible?t.filter(":visible"):t).length&&(n.each(["first","last"],function(n,r){var f,u=t[r]().data("ui-controlgroup-data");u&&i["_"+u.widgetName+"Options"]?((f=i["_"+u.widgetName+"Options"](1===t.length?"only":r)).classes=i._resolveClassesValues(f.classes,u),u.element[u.widgetName](f)):i._updateCornerClass(t[r](),r)}),this._callChildMethod("refresh"))}});n.widget("ui.checkboxradio",[n.ui.formResetMixin,{version:"1.13.2",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var t,i=this._super()||{};return this._readType(),t=this.element.labels(),this.label=n(t[t.length-1]),this.label.length||n.error("No label found for checkboxradio widget"),this.originalLabel="",(t=this.label.contents().not(this.element[0])).length&&(this.originalLabel+=t.clone().wrapAll("<div><\/div>").parent().html()),this.originalLabel&&(i.label=this.originalLabel),null!=(t=this.element[0].disabled)&&(i.disabled=t),i},_create:function(){var n=this.element[0].checked;this._bindFormResetHandler();null==this.options.disabled&&(this.options.disabled=this.element[0].disabled);this._setOption("disabled",this.options.disabled);this._addClass("ui-checkboxradio","ui-helper-hidden-accessible");this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget");"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label");this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel);this._enhance();n&&this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active");this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var t=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type;"input"===t&&/radio|checkbox/.test(this.type)||n.error("Can't create checkboxradio on element.nodeName="+t+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var t=this.element[0].name,i="input[name='"+n.escapeSelector(t)+"']";return t?(this.form.length?n(this.form[0].elements).filter(i):n(i).filter(function(){return 0===n(this)._form().length})).not(this.element):n([])},_toggleClasses:function(){var t=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",t);this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",t)._toggleClass(this.icon,null,"ui-icon-blank",!t);"radio"===this.type&&this._getRadioGroup().each(function(){var t=n(this).checkboxradio("instance");t&&t._removeClass(t.label,"ui-checkboxradio-checked","ui-state-active")})},_destroy:function(){this._unbindFormResetHandler();this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(n,t){if("label"!==n||t){if(this._super(n,t),"disabled"===n)return this._toggleClass(this.label,null,"ui-state-disabled",t),void(this.element[0].disabled=t);this.refresh()}},_updateIcon:function(t){var i="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=n("<span>"),this.iconSpace=n("<span> <\/span>"),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(i+=t?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,t?"ui-icon-blank":"ui-icon-check")):i+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",i),t||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){var n=this.label.contents().not(this.element[0]);this.icon&&(n=n.not(this.icon[0]));(n=this.iconSpace?n.not(this.iconSpace[0]):n).remove();this.label.append(this.options.label)},refresh:function(){var n=this.element[0].checked,t=this.element[0].disabled;this._updateIcon(n);this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",n);null!==this.options.label&&this._updateLabel();t!==this.options.disabled&&this._setOptions({disabled:t})}}]);n.ui.checkboxradio;n.widget("ui.button",{version:"1.13.2",defaultElement:"<button>",options:{classes:{"ui-button":"ui-corner-all"},disabled:null,icon:null,iconPosition:"beginning",label:null,showLabel:!0},_getCreateOptions:function(){var t,n=this._super()||{};return this.isInput=this.element.is("input"),null!=(t=this.element[0].disabled)&&(n.disabled=t),this.originalLabel=this.isInput?this.element.val():this.element.html(),this.originalLabel&&(n.label=this.originalLabel),n},_create:function(){!this.option.showLabel&!this.options.icon&&(this.options.showLabel=!0);null==this.options.disabled&&(this.options.disabled=this.element[0].disabled||!1);this.hasTitle=!!this.element.attr("title");this.options.label&&this.options.label!==this.originalLabel&&(this.isInput?this.element.val(this.options.label):this.element.html(this.options.label));this._addClass("ui-button","ui-widget");this._setOption("disabled",this.options.disabled);this._enhance();this.element.is("a")&&this._on({keyup:function(t){t.keyCode===n.ui.keyCode.SPACE&&(t.preventDefault(),this.element[0].click?this.element[0].click():this.element.trigger("click"))}})},_enhance:function(){this.element.is("button")||this.element.attr("role","button");this.options.icon&&(this._updateIcon("icon",this.options.icon),this._updateTooltip())},_updateTooltip:function(){this.title=this.element.attr("title");this.options.showLabel||this.title||this.element.attr("title",this.options.label)},_updateIcon:function(t,i){var u="iconPosition"!==t,r=u?this.options.iconPosition:i,t="top"===r||"bottom"===r;this.icon?u&&this._removeClass(this.icon,null,this.options.icon):(this.icon=n("<span>"),this._addClass(this.icon,"ui-button-icon","ui-icon"),this.options.showLabel||this._addClass("ui-button-icon-only"));u&&this._addClass(this.icon,null,i);this._attachIcon(r);t?(this._addClass(this.icon,null,"ui-widget-icon-block"),this.iconSpace&&this.iconSpace.remove()):(this.iconSpace||(this.iconSpace=n("<span> <\/span>"),this._addClass(this.iconSpace,"ui-button-icon-space")),this._removeClass(this.icon,null,"ui-wiget-icon-block"),this._attachIconSpace(r))},_destroy:function(){this.element.removeAttr("role");this.icon&&this.icon.remove();this.iconSpace&&this.iconSpace.remove();this.hasTitle||this.element.removeAttr("title")},_attachIconSpace:function(n){this.icon[/^(?:end|bottom)/.test(n)?"before":"after"](this.iconSpace)},_attachIcon:function(n){this.element[/^(?:end|bottom)/.test(n)?"append":"prepend"](this.icon)},_setOptions:function(n){var t=(void 0===n.showLabel?this.options:n).showLabel,i=(void 0===n.icon?this.options:n).icon;t||i||(n.showLabel=!0);this._super(n)},_setOption:function(n,t){"icon"===n&&(t?this._updateIcon(n,t):this.icon&&(this.icon.remove(),this.iconSpace&&this.iconSpace.remove()));"iconPosition"===n&&this._updateIcon(n,t);"showLabel"===n&&(this._toggleClass("ui-button-icon-only",null,!t),this._updateTooltip());"label"===n&&(this.isInput?this.element.val(t):(this.element.html(t),this.icon&&(this._attachIcon(this.options.iconPosition),this._attachIconSpace(this.options.iconPosition))));this._super(n,t);"disabled"===n&&(this._toggleClass(null,"ui-state-disabled",t),(this.element[0].disabled=t)&&this.element.trigger("blur"))},refresh:function(){var n=this.element.is("input, button")?this.element[0].disabled:this.element.hasClass("ui-button-disabled");n!==this.options.disabled&&this._setOptions({disabled:n});this._updateTooltip()}});!1!==n.uiBackCompat&&(n.widget("ui.button",n.ui.button,{options:{text:!0,icons:{primary:null,secondary:null}},_create:function(){this.options.showLabel&&!this.options.text&&(this.options.showLabel=this.options.text);!this.options.showLabel&&this.options.text&&(this.options.text=this.options.showLabel);this.options.icon||!this.options.icons.primary&&!this.options.icons.secondary?this.options.icon&&(this.options.icons.primary=this.options.icon):this.options.icons.primary?this.options.icon=this.options.icons.primary:(this.options.icon=this.options.icons.secondary,this.options.iconPosition="end");this._super()},_setOption:function(n,t){"text"!==n?("showLabel"===n&&(this.options.text=t),"icon"===n&&(this.options.icons.primary=t),"icons"===n&&(t.primary?(this._super("icon",t.primary),this._super("iconPosition","beginning")):t.secondary&&(this._super("icon",t.secondary),this._super("iconPosition","end"))),this._superApply(arguments)):this._super("showLabel",t)}}),n.fn.button=(vi=n.fn.button,function(t){var u="string"==typeof t,r=Array.prototype.slice.call(arguments,1),i=this;return u?this.length||"instance"!==t?this.each(function(){var u=n(this).attr("type"),f=n.data(this,"ui-"+("checkbox"!==u&&"radio"!==u?"button":"checkboxradio"));return"instance"===t?(i=f,!1):f?"function"!=typeof f[t]||"_"===t.charAt(0)?n.error("no such method '"+t+"' for button widget instance"):(u=f[t].apply(f,r))!==f&&void 0!==u?(i=u&&u.jquery?i.pushStack(u.get()):u,!1):void 0:n.error("cannot call methods on button prior to initialization; attempted to call method '"+t+"'")}):i=void 0:(r.length&&(t=n.widget.extend.apply(null,[t].concat(r))),this.each(function(){var i=n(this).attr("type"),r="checkbox"!==i&&"radio"!==i?"button":"checkboxradio",i=n.data(this,"ui-"+r);i?(i.option(t||{}),i._init&&i._init()):"button"!=r?n(this).checkboxradio(n.extend({icon:!1},t)):vi.call(n(this),t)})),i}),n.fn.buttonset=function(){return n.ui.controlgroup||n.error("Controlgroup widget missing"),"option"===arguments[0]&&"items"===arguments[1]&&arguments[2]?this.controlgroup.apply(this,[arguments[0],"items.button",arguments[2]]):"option"===arguments[0]&&"items"===arguments[1]?this.controlgroup.apply(this,[arguments[0],"items.button"]):("object"==typeof arguments[0]&&arguments[0].items&&(arguments[0].items={button:arguments[0].items}),this.controlgroup.apply(this,arguments))});n.ui.button;n.extend(n.ui,{datepicker:{version:"1.13.2"}});n.extend(yi.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(n){return b(this._defaults,n||{}),this},_attachDatepicker:function(t,i){var r,u=t.nodeName.toLowerCase(),f="div"===u||"span"===u;t.id||(this.uuid+=1,t.id="dp"+this.uuid);(r=this._newInst(n(t),f)).settings=n.extend({},i||{});"input"===u?this._connectDatepicker(t,r):f&&this._inlineDatepicker(t,r)},_newInst:function(t,i){return{id:t[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1"),input:t,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?pi(n("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'><\/div>")):this.dpDiv}},_connectDatepicker:function(t,i){var r=n(t);i.append=n([]);i.trigger=n([]);r.hasClass(this.markerClassName)||(this._attachments(r,i),r.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(i),n.data(t,"datepicker",i),i.settings.disabled&&this._disableDatepicker(t))},_attachments:function(t,i){var r,u=this._get(i,"appendText"),f=this._get(i,"isRTL");i.append&&i.append.remove();u&&(i.append=n("<span>").addClass(this._appendClass).text(u),t[f?"before":"after"](i.append));t.off("focus",this._showDatepicker);i.trigger&&i.trigger.remove();"focus"!==(r=this._get(i,"showOn"))&&"both"!==r||t.on("focus",this._showDatepicker);"button"!==r&&"both"!==r||(u=this._get(i,"buttonText"),r=this._get(i,"buttonImage"),this._get(i,"buttonImageOnly")?i.trigger=n("<img>").addClass(this._triggerClass).attr({src:r,alt:u,title:u}):(i.trigger=n("<button type='button'>").addClass(this._triggerClass),r?i.trigger.html(n("<img>").attr({src:r,alt:u,title:u})):i.trigger.text(u)),t[f?"before":"after"](i.trigger),i.trigger.on("click",function(){return n.datepicker._datepickerShowing&&n.datepicker._lastInput===t[0]?n.datepicker._hideDatepicker():(n.datepicker._datepickerShowing&&n.datepicker._lastInput!==t[0]&&n.datepicker._hideDatepicker(),n.datepicker._showDatepicker(t[0])),!1}))},_autoSize:function(n){var r,u,f,t,i,e;this._get(n,"autoSize")&&!n.inline&&(i=new Date(2009,11,20),(e=this._get(n,"dateFormat")).match(/[DM]/)&&(r=function(n){for(t=f=u=0;t<n.length;t++)n[t].length>u&&(u=n[t].length,f=t);return f},i.setMonth(r(this._get(n,e.match(/MM/)?"monthNames":"monthNamesShort"))),i.setDate(r(this._get(n,e.match(/DD/)?"dayNames":"dayNamesShort"))+20-i.getDay())),n.input.attr("size",this._formatDate(n,i).length))},_inlineDatepicker:function(t,i){var r=n(t);r.hasClass(this.markerClassName)||(r.addClass(this.markerClassName).append(i.dpDiv),n.data(t,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(t),i.dpDiv.css("display","block"))},_dialogDatepicker:function(t,i,r,u,f){var o,e=this._dialogInst;return e||(this.uuid+=1,o="dp"+this.uuid,this._dialogInput=n("<input type='text' id='"+o+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.on("keydown",this._doKeyDown),n("body").append(this._dialogInput),(e=this._dialogInst=this._newInst(this._dialogInput,!1)).settings={},n.data(this._dialogInput[0],"datepicker",e)),b(e.settings,u||{}),i=i&&i.constructor===Date?this._formatDate(e,i):i,this._dialogInput.val(i),this._pos=f?f.length?f:[f.pageX,f.pageY]:null,this._pos||(o=document.documentElement.clientWidth,u=document.documentElement.clientHeight,i=document.documentElement.scrollLeft||document.body.scrollLeft,f=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[o/2-100+i,u/2-150+f]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),e.settings.onSelect=r,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),n.blockUI&&n.blockUI(this.dpDiv),n.data(this._dialogInput[0],"datepicker",e),this},_destroyDatepicker:function(t){var i,r=n(t),u=n.data(t,"datepicker");r.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),n.removeData(t,"datepicker"),"input"===i?(u.append.remove(),u.trigger.remove(),r.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):"div"!==i&&"span"!==i||r.removeClass(this.markerClassName).empty(),e===u&&(e=null,this._curInst=null))},_enableDatepicker:function(t){var r,i=n(t),u=n.data(t,"datepicker");i.hasClass(this.markerClassName)&&("input"===(r=t.nodeName.toLowerCase())?(t.disabled=!1,u.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):"div"!==r&&"span"!==r||((i=i.children("."+this._inlineClass)).children().removeClass("ui-state-disabled"),i.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=n.map(this._disabledInputs,function(n){return n===t?null:n}))},_disableDatepicker:function(t){var r,i=n(t),u=n.data(t,"datepicker");i.hasClass(this.markerClassName)&&("input"===(r=t.nodeName.toLowerCase())?(t.disabled=!0,u.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):"div"!==r&&"span"!==r||((i=i.children("."+this._inlineClass)).children().addClass("ui-state-disabled"),i.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=n.map(this._disabledInputs,function(n){return n===t?null:n}),this._disabledInputs[this._disabledInputs.length]=t)},_isDisabledDatepicker:function(n){if(!n)return!1;for(var t=0;t<this._disabledInputs.length;t++)if(this._disabledInputs[t]===n)return!0;return!1},_getInst:function(t){try{return n.data(t,"datepicker")}catch(t){throw"Missing instance data for this datepicker";}},_optionDatepicker:function(t,i,r){var f,e,u=this._getInst(t);if(2===arguments.length&&"string"==typeof i)return"defaults"===i?n.extend({},n.datepicker._defaults):u?"all"===i?n.extend({},u.settings):this._get(u,i):null;f=i||{};"string"==typeof i&&((f={})[i]=r);u&&(this._curInst===u&&this._hideDatepicker(),e=this._getDateDatepicker(t,!0),i=this._getMinMaxDate(u,"min"),r=this._getMinMaxDate(u,"max"),b(u.settings,f),null!==i&&void 0!==f.dateFormat&&void 0===f.minDate&&(u.settings.minDate=this._formatDate(u,i)),null!==r&&void 0!==f.dateFormat&&void 0===f.maxDate&&(u.settings.maxDate=this._formatDate(u,r)),"disabled"in f&&(f.disabled?this._disableDatepicker(t):this._enableDatepicker(t)),this._attachments(n(t),u),this._autoSize(u),this._setDate(u,e),this._updateAlternate(u),this._updateDatepicker(u))},_changeDatepicker:function(n,t,i){this._optionDatepicker(n,t,i)},_refreshDatepicker:function(n){n=this._getInst(n);n&&this._updateDatepicker(n)},_setDateDatepicker:function(n,t){n=this._getInst(n);n&&(this._setDate(n,t),this._updateDatepicker(n),this._updateAlternate(n))},_getDateDatepicker:function(n,t){return n=this._getInst(n),n&&!n.inline&&this._setDateFromField(n,t),n?this._getDate(n):null},_doKeyDown:function(t){var f,u,i=n.datepicker._getInst(t.target),r=!0,e=i.dpDiv.is(".ui-datepicker-rtl");if(i._keyEvent=!0,n.datepicker._datepickerShowing)switch(t.keyCode){case 9:n.datepicker._hideDatepicker();r=!1;break;case 13:return(u=n("td."+n.datepicker._dayOverClass+":not(."+n.datepicker._currentClass+")",i.dpDiv))[0]&&n.datepicker._selectDay(t.target,i.selectedMonth,i.selectedYear,u[0]),(f=n.datepicker._get(i,"onSelect"))?(u=n.datepicker._formatDate(i),f.apply(i.input?i.input[0]:null,[u,i])):n.datepicker._hideDatepicker(),!1;case 27:n.datepicker._hideDatepicker();break;case 33:n.datepicker._adjustDate(t.target,t.ctrlKey?-n.datepicker._get(i,"stepBigMonths"):-n.datepicker._get(i,"stepMonths"),"M");break;case 34:n.datepicker._adjustDate(t.target,t.ctrlKey?+n.datepicker._get(i,"stepBigMonths"):+n.datepicker._get(i,"stepMonths"),"M");break;case 35:(t.ctrlKey||t.metaKey)&&n.datepicker._clearDate(t.target);r=t.ctrlKey||t.metaKey;break;case 36:(t.ctrlKey||t.metaKey)&&n.datepicker._gotoToday(t.target);r=t.ctrlKey||t.metaKey;break;case 37:(t.ctrlKey||t.metaKey)&&n.datepicker._adjustDate(t.target,e?1:-1,"D");r=t.ctrlKey||t.metaKey;t.originalEvent.altKey&&n.datepicker._adjustDate(t.target,t.ctrlKey?-n.datepicker._get(i,"stepBigMonths"):-n.datepicker._get(i,"stepMonths"),"M");break;case 38:(t.ctrlKey||t.metaKey)&&n.datepicker._adjustDate(t.target,-7,"D");r=t.ctrlKey||t.metaKey;break;case 39:(t.ctrlKey||t.metaKey)&&n.datepicker._adjustDate(t.target,e?-1:1,"D");r=t.ctrlKey||t.metaKey;t.originalEvent.altKey&&n.datepicker._adjustDate(t.target,t.ctrlKey?+n.datepicker._get(i,"stepBigMonths"):+n.datepicker._get(i,"stepMonths"),"M");break;case 40:(t.ctrlKey||t.metaKey)&&n.datepicker._adjustDate(t.target,7,"D");r=t.ctrlKey||t.metaKey;break;default:r=!1}else 36===t.keyCode&&t.ctrlKey?n.datepicker._showDatepicker(this):r=!1;r&&(t.preventDefault(),t.stopPropagation())},_doKeyPress:function(t){var r,i=n.datepicker._getInst(t.target);if(n.datepicker._get(i,"constrainInput"))return r=n.datepicker._possibleChars(n.datepicker._get(i,"dateFormat")),i=String.fromCharCode(null==t.charCode?t.keyCode:t.charCode),t.ctrlKey||t.metaKey||i<" "||!r||-1<r.indexOf(i)},_doKeyUp:function(t){if(t=n.datepicker._getInst(t.target),t.input.val()!==t.lastVal)try{n.datepicker.parseDate(n.datepicker._get(t,"dateFormat"),t.input?t.input.val():null,n.datepicker._getFormatConfig(t))&&(n.datepicker._setDateFromField(t),n.datepicker._updateAlternate(t),n.datepicker._updateDatepicker(t))}catch(t){}return!0},_showDatepicker:function(t){var f,u,r,i;"input"!==(t=t.target||t).nodeName.toLowerCase()&&(t=n("input",t.parentNode)[0]);n.datepicker._isDisabledDatepicker(t)||n.datepicker._lastInput===t||(i=n.datepicker._getInst(t),n.datepicker._curInst&&n.datepicker._curInst!==i&&(n.datepicker._curInst.dpDiv.stop(!0,!0),i&&n.datepicker._datepickerShowing&&n.datepicker._hideDatepicker(n.datepicker._curInst.input[0])),!1!==(u=(r=n.datepicker._get(i,"beforeShow"))?r.apply(t,[t,i]):{})&&(b(i.settings,u),i.lastVal=null,n.datepicker._lastInput=t,n.datepicker._setDateFromField(i),n.datepicker._inDialog&&(t.value=""),n.datepicker._pos||(n.datepicker._pos=n.datepicker._findPos(t),n.datepicker._pos[1]+=t.offsetHeight),f=!1,n(t).parents().each(function(){return!(f|="fixed"===n(this).css("position"))}),r={left:n.datepicker._pos[0],top:n.datepicker._pos[1]},n.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),n.datepicker._updateDatepicker(i),r=n.datepicker._checkOffset(i,r,f),i.dpDiv.css({position:n.datepicker._inDialog&&n.blockUI?"static":f?"fixed":"absolute",display:"none",left:r.left+"px",top:r.top+"px"}),i.inline||(u=n.datepicker._get(i,"showAnim"),r=n.datepicker._get(i,"duration"),i.dpDiv.css("z-index",function(n){for(var i,t;n.length&&n[0]!==document;){if(("absolute"===(i=n.css("position"))||"relative"===i||"fixed"===i)&&(t=parseInt(n.css("zIndex"),10),!isNaN(t)&&0!==t))return t;n=n.parent()}return 0}(n(t))+1),n.datepicker._datepickerShowing=!0,n.effects&&n.effects.effect[u]?i.dpDiv.show(u,n.datepicker._get(i,"showOptions"),r):i.dpDiv[u||"show"](u?r:null),n.datepicker._shouldFocusInput(i)&&i.input.trigger("focus"),n.datepicker._curInst=i)))},_updateDatepicker:function(t){this.maxRows=4;(e=t).dpDiv.empty().append(this._generateHTML(t));this._attachHandlers(t);var i,r=this._getNumberOfMonths(t),u=r[1],f=t.dpDiv.find("."+this._dayOverClass+" a"),o=n.datepicker._get(t,"onUpdateDatepicker");0<f.length&&wi.apply(f.get(0));t.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");1<u&&t.dpDiv.addClass("ui-datepicker-multi-"+u).css("width",17*u+"em");t.dpDiv[(1!==r[0]||1!==r[1]?"add":"remove")+"Class"]("ui-datepicker-multi");t.dpDiv[(this._get(t,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");t===n.datepicker._curInst&&n.datepicker._datepickerShowing&&n.datepicker._shouldFocusInput(t)&&t.input.trigger("focus");t.yearshtml&&(i=t.yearshtml,setTimeout(function(){i===t.yearshtml&&t.yearshtml&&t.dpDiv.find("select.ui-datepicker-year").first().replaceWith(t.yearshtml);i=t.yearshtml=null},0));o&&o.apply(t.input?t.input[0]:null,[t])},_shouldFocusInput:function(n){return n.input&&n.input.is(":visible")&&!n.input.is(":disabled")&&!n.input.is(":focus")},_checkOffset:function(t,i,r){var u=t.dpDiv.outerWidth(),f=t.dpDiv.outerHeight(),h=t.input?t.input.outerWidth():0,o=t.input?t.input.outerHeight():0,e=document.documentElement.clientWidth+(r?0:n(document).scrollLeft()),s=document.documentElement.clientHeight+(r?0:n(document).scrollTop());return i.left-=this._get(t,"isRTL")?u-h:0,i.left-=r&&i.left===t.input.offset().left?n(document).scrollLeft():0,i.top-=r&&i.top===t.input.offset().top+o?n(document).scrollTop():0,i.left-=Math.min(i.left,i.left+u>e&&u<e?Math.abs(i.left+u-e):0),i.top-=Math.min(i.top,i.top+f>s&&f<s?Math.abs(f+o):0),i},_findPos:function(t){for(var i=this._getInst(t),r=this._get(i,"isRTL");t&&("hidden"===t.type||1!==t.nodeType||n.expr.pseudos.hidden(t));)t=t[r?"previousSibling":"nextSibling"];return[(i=n(t).offset()).left,i.top]},_hideDatepicker:function(t){var r,u,i=this._curInst;!i||t&&i!==n.data(t,"datepicker")||this._datepickerShowing&&(r=this._get(i,"showAnim"),u=this._get(i,"duration"),t=function(){n.datepicker._tidyDialog(i)},n.effects&&(n.effects.effect[r]||n.effects[r])?i.dpDiv.hide(r,n.datepicker._get(i,"showOptions"),u,t):i.dpDiv["slideDown"===r?"slideUp":"fadeIn"===r?"fadeOut":"hide"](r?u:null,t),r||t(),this._datepickerShowing=!1,(t=this._get(i,"onClose"))&&t.apply(i.input?i.input[0]:null,[i.input?i.input.val():"",i]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),n.blockUI&&(n.unblockUI(),n("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(n){n.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(t){var i;n.datepicker._curInst&&(i=n(t.target),t=n.datepicker._getInst(i[0]),(i[0].id===n.datepicker._mainDivId||0!==i.parents("#"+n.datepicker._mainDivId).length||i.hasClass(n.datepicker.markerClassName)||i.closest("."+n.datepicker._triggerClass).length||!n.datepicker._datepickerShowing||n.datepicker._inDialog&&n.blockUI)&&(!i.hasClass(n.datepicker.markerClassName)||n.datepicker._curInst===t)||n.datepicker._hideDatepicker())},_adjustDate:function(t,i,r){var u=n(t),t=this._getInst(u[0]);this._isDisabledDatepicker(u[0])||(this._adjustInstDate(t,i,r),this._updateDatepicker(t))},_gotoToday:function(t){var r=n(t),i=this._getInst(r[0]);this._get(i,"gotoCurrent")&&i.currentDay?(i.selectedDay=i.currentDay,i.drawMonth=i.selectedMonth=i.currentMonth,i.drawYear=i.selectedYear=i.currentYear):(t=new Date,i.selectedDay=t.getDate(),i.drawMonth=i.selectedMonth=t.getMonth(),i.drawYear=i.selectedYear=t.getFullYear());this._notifyChange(i);this._adjustDate(r)},_selectMonthYear:function(t,i,r){var u=n(t),t=this._getInst(u[0]);t["selected"+("M"===r?"Month":"Year")]=t["draw"+("M"===r?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10);this._notifyChange(t);this._adjustDate(u)},_selectDay:function(t,i,r,u){var f=n(t);n(u).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0])||((f=this._getInst(f[0])).selectedDay=f.currentDay=parseInt(n("a",u).attr("data-date")),f.selectedMonth=f.currentMonth=i,f.selectedYear=f.currentYear=r,this._selectDate(t,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear)))},_clearDate:function(t){t=n(t);this._selectDate(t,"")},_selectDate:function(t,i){var r=n(t),t=this._getInst(r[0]);i=null!=i?i:this._formatDate(t);t.input&&t.input.val(i);this._updateAlternate(t);(r=this._get(t,"onSelect"))?r.apply(t.input?t.input[0]:null,[i,t]):t.input&&t.input.trigger("change");t.inline?this._updateDatepicker(t):(this._hideDatepicker(),this._lastInput=t.input[0],"object"!=typeof t.input[0]&&t.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(t){var i,r,u=this._get(t,"altField");u&&(i=this._get(t,"altFormat")||this._get(t,"dateFormat"),r=this._getDate(t),t=this.formatDate(i,r,this._getFormatConfig(t)),n(document).find(u).val(t))},noWeekends:function(n){return n=n.getDay(),[0<n&&n<6,""]},iso8601Week:function(n){var t=new Date(n.getTime());return t.setDate(t.getDate()+4-(t.getDay()||7)),n=t.getTime(),t.setMonth(0),t.setDate(1),Math.floor(Math.round((n-t)/864e5)/7)+1},parseDate:function(t,i,r){if(null==t||null==i)throw"Invalid arguments";if(""===(i="object"==typeof i?i.toString():i+""))return null;for(var b,v,e,u=0,l=(r?r.shortYearCutoff:null)||this._defaults.shortYearCutoff,l="string"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),d=(r?r.dayNamesShort:null)||this._defaults.dayNamesShort,g=(r?r.dayNames:null)||this._defaults.dayNames,nt=(r?r.monthNamesShort:null)||this._defaults.monthNamesShort,tt=(r?r.monthNames:null)||this._defaults.monthNames,f=-1,o=-1,s=-1,y=-1,p=!1,a=function(n){return n=h+1<t.length&&t.charAt(h+1)===n,n&&h++,n},c=function(n){var t=a(n),t="@"===n?14:"!"===n?20:"y"===n&&t?4:"o"===n?3:2,t=new RegExp("^\\d{"+("y"===n?t:1)+","+t+"}"),t=i.substring(u).match(t);if(!t)throw"Missing number at position "+u;return u+=t[0].length,parseInt(t[0],10)},k=function(t,r,f){var e=-1,r=n.map(a(t)?f:r,function(n,t){return[[t,n]]}).sort(function(n,t){return-(n[1].length-t[1].length)});if(n.each(r,function(n,t){var r=t[1];if(i.substr(u,r.length).toLowerCase()===r.toLowerCase())return e=t[0],u+=r.length,!1}),-1!==e)return e+1;throw"Unknown name at position "+u;},w=function(){if(i.charAt(u)!==t.charAt(h))throw"Unexpected literal at position "+u;u++},h=0;h<t.length;h++)if(p)"'"!==t.charAt(h)||a("'")?w():p=!1;else switch(t.charAt(h)){case"d":s=c("d");break;case"D":k("D",d,g);break;case"o":y=c("o");break;case"m":o=c("m");break;case"M":o=k("M",nt,tt);break;case"y":f=c("y");break;case"@":f=(e=new Date(c("@"))).getFullYear();o=e.getMonth()+1;s=e.getDate();break;case"!":f=(e=new Date((c("!")-this._ticksTo1970)/1e4)).getFullYear();o=e.getMonth()+1;s=e.getDate();break;case"'":a("'")?w():p=!0;break;default:w()}if(u<i.length&&(v=i.substr(u),!/^\s+/.test(v)))throw"Extra/unparsed characters found in date: "+v;if(-1===f?f=(new Date).getFullYear():f<100&&(f+=(new Date).getFullYear()-(new Date).getFullYear()%100+(f<=l?0:-100)),-1<y)for(o=1,s=y;;){if(s<=(b=this._getDaysInMonth(f,o-1)))break;o++;s-=b}if((e=this._daylightSavingAdjust(new Date(f,o-1,s))).getFullYear()!==f||e.getMonth()+1!==o||e.getDate()!==s)throw"Invalid date";return e},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:864e9*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(n,t,i){function e(n,t,i){var r=""+t;if(f(n))for(;r.length<i;)r="0"+r;return r}function s(n,t,i,r){return(f(n)?r:i)[t]}if(!t)return"";var u,h=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,c=(i?i.dayNames:null)||this._defaults.dayNames,l=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,a=(i?i.monthNames:null)||this._defaults.monthNames,f=function(t){return t=u+1<n.length&&n.charAt(u+1)===t,t&&u++,t},r="",o=!1;if(t)for(u=0;u<n.length;u++)if(o)"'"!==n.charAt(u)||f("'")?r+=n.charAt(u):o=!1;else switch(n.charAt(u)){case"d":r+=e("d",t.getDate(),2);break;case"D":r+=s("D",t.getDay(),h,c);break;case"o":r+=e("o",Math.round((new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-new Date(t.getFullYear(),0,0).getTime())/864e5),3);break;case"m":r+=e("m",t.getMonth()+1,2);break;case"M":r+=s("M",t.getMonth(),l,a);break;case"y":r+=f("y")?t.getFullYear():(t.getFullYear()%100<10?"0":"")+t.getFullYear()%100;break;case"@":r+=t.getTime();break;case"!":r+=1e4*t.getTime()+this._ticksTo1970;break;case"'":f("'")?r+="'":o=!0;break;default:r+=n.charAt(u)}return r},_possibleChars:function(n){for(var i="",r=!1,u=function(i){return i=t+1<n.length&&n.charAt(t+1)===i,i&&t++,i},t=0;t<n.length;t++)if(r)"'"!==n.charAt(t)||u("'")?i+=n.charAt(t):r=!1;else switch(n.charAt(t)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":u("'")?i+="'":r=!0;break;default:i+=n.charAt(t)}return i},_get:function(n,t){return(void 0!==n.settings[t]?n.settings:this._defaults)[t]},_setDateFromField:function(n,t){if(n.input.val()!==n.lastVal){var f=this._get(n,"dateFormat"),r=n.lastVal=n.input?n.input.val():null,u=this._getDefaultDate(n),i=u,e=this._getFormatConfig(n);try{i=this.parseDate(f,r,e)||u}catch(n){r=t?"":r}n.selectedDay=i.getDate();n.drawMonth=n.selectedMonth=i.getMonth();n.drawYear=n.selectedYear=i.getFullYear();n.currentDay=r?i.getDate():0;n.currentMonth=r?i.getMonth():0;n.currentYear=r?i.getFullYear():0;this._adjustInstDate(n)}},_getDefaultDate:function(n){return this._restrictMinMax(n,this._determineDate(n,this._get(n,"defaultDate"),new Date))},_determineDate:function(t,i,r){var f,u,i=null==i||""===i?r:"string"==typeof i?function(i){try{return n.datepicker.parseDate(n.datepicker._get(t,"dateFormat"),i,n.datepicker._getFormatConfig(t))}catch(i){}for(var o=(i.toLowerCase().match(/^c/)?n.datepicker._getDate(t):null)||new Date,f=o.getFullYear(),e=o.getMonth(),r=o.getDate(),s=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,u=s.exec(i);u;){switch(u[2]||"d"){case"d":case"D":r+=parseInt(u[1],10);break;case"w":case"W":r+=7*parseInt(u[1],10);break;case"m":case"M":e+=parseInt(u[1],10);r=Math.min(r,n.datepicker._getDaysInMonth(f,e));break;case"y":case"Y":f+=parseInt(u[1],10);r=Math.min(r,n.datepicker._getDaysInMonth(f,e))}u=s.exec(i)}return new Date(f,e,r)}(i):"number"==typeof i?isNaN(i)?r:(f=i,(u=new Date).setDate(u.getDate()+f),u):new Date(i.getTime());return(i=i&&"Invalid Date"===i.toString()?r:i)&&(i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0)),this._daylightSavingAdjust(i)},_daylightSavingAdjust:function(n){return n?(n.setHours(12<n.getHours()?n.getHours()+2:0),n):null},_setDate:function(n,t,i){var r=!t,u=n.selectedMonth,f=n.selectedYear,t=this._restrictMinMax(n,this._determineDate(n,t,new Date));n.selectedDay=n.currentDay=t.getDate();n.drawMonth=n.selectedMonth=n.currentMonth=t.getMonth();n.drawYear=n.selectedYear=n.currentYear=t.getFullYear();u===n.selectedMonth&&f===n.selectedYear||i||this._notifyChange(n);this._adjustInstDate(n);n.input&&n.input.val(r?"":this._formatDate(n))},_getDate:function(n){return!n.currentYear||n.input&&""===n.input.val()?null:this._daylightSavingAdjust(new Date(n.currentYear,n.currentMonth,n.currentDay))},_attachHandlers:function(t){var r=this._get(t,"stepMonths"),i="#"+t.id.replace(/\\\\/g,"\\");t.dpDiv.find("[data-handler]").map(function(){var t={prev:function(){n.datepicker._adjustDate(i,-r,"M")},next:function(){n.datepicker._adjustDate(i,+r,"M")},hide:function(){n.datepicker._hideDatepicker()},today:function(){n.datepicker._gotoToday(i)},selectDay:function(){return n.datepicker._selectDay(i,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return n.datepicker._selectMonthYear(i,this,"M"),!1},selectYear:function(){return n.datepicker._selectMonthYear(i,this,"Y"),!1}};n(this).on(this.getAttribute("data-event"),t[this.getAttribute("data-handler")])})},_generateHTML:function(t){var g,et,ot,l,st,gt,ni,ti,ii,ht,it,ri,ct,rt,c,y,lt,p,at,a,e,vt,ui,yt,w,pt,i,wt,bt,nt,b,ut,o=new Date,kt=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth(),o.getDate())),s=this._get(t,"isRTL"),fi=this._get(t,"showButtonPanel"),tt=this._get(t,"hideIfNoPrevNext"),k=this._get(t,"navigationAsDateFormat"),h=this._getNumberOfMonths(t),r=this._get(t,"showCurrentAtPos"),o=this._get(t,"stepMonths"),dt=1!==h[0]||1!==h[1],ft=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),d=this._getMinMaxDate(t,"min"),v=this._getMinMaxDate(t,"max"),u=t.drawMonth-r,f=t.drawYear;if(u<0&&(u+=12,f--),v)for(g=this._daylightSavingAdjust(new Date(v.getFullYear(),v.getMonth()-h[0]*h[1]+1,v.getDate())),g=d&&g<d?d:g;this._daylightSavingAdjust(new Date(f,u,1))>g;)--u<0&&(u=11,f--);for(t.drawMonth=u,t.drawYear=f,r=this._get(t,"prevText"),r=k?this.formatDate(r,this._daylightSavingAdjust(new Date(f,u-o,1)),this._getFormatConfig(t)):r,et=this._canAdjustMonth(t,-1,f,u)?n("<a>").attr({"class":"ui-datepicker-prev ui-corner-all","data-handler":"prev","data-event":"click",title:r}).append(n("<span>").addClass("ui-icon ui-icon-circle-triangle-"+(s?"e":"w")).text(r))[0].outerHTML:tt?"":n("<a>").attr({"class":"ui-datepicker-prev ui-corner-all ui-state-disabled",title:r}).append(n("<span>").addClass("ui-icon ui-icon-circle-triangle-"+(s?"e":"w")).text(r))[0].outerHTML,r=this._get(t,"nextText"),r=k?this.formatDate(r,this._daylightSavingAdjust(new Date(f,u+o,1)),this._getFormatConfig(t)):r,ot=this._canAdjustMonth(t,1,f,u)?n("<a>").attr({"class":"ui-datepicker-next ui-corner-all","data-handler":"next","data-event":"click",title:r}).append(n("<span>").addClass("ui-icon ui-icon-circle-triangle-"+(s?"w":"e")).text(r))[0].outerHTML:tt?"":n("<a>").attr({"class":"ui-datepicker-next ui-corner-all ui-state-disabled",title:r}).append(n("<span>").attr("class","ui-icon ui-icon-circle-triangle-"+(s?"w":"e")).text(r))[0].outerHTML,o=this._get(t,"currentText"),tt=this._get(t,"gotoCurrent")&&t.currentDay?ft:kt,o=k?this.formatDate(o,tt,this._getFormatConfig(t)):o,r="",t.inline||(r=n("<button>").attr({type:"button","class":"ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all","data-handler":"hide","data-event":"click"}).text(this._get(t,"closeText"))[0].outerHTML),k="",fi&&(k=n("<div class='ui-datepicker-buttonpane ui-widget-content'>").append(s?r:"").append(this._isInRange(t,tt)?n("<button>").attr({type:"button","class":"ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all","data-handler":"today","data-event":"click"}).text(o):"").append(s?"":r)[0].outerHTML),l=parseInt(this._get(t,"firstDay"),10),l=isNaN(l)?0:l,st=this._get(t,"showWeek"),gt=this._get(t,"dayNames"),ni=this._get(t,"dayNamesMin"),ti=this._get(t,"monthNames"),ii=this._get(t,"monthNamesShort"),ht=this._get(t,"beforeShowDay"),it=this._get(t,"showOtherMonths"),ri=this._get(t,"selectOtherMonths"),ct=this._getDefaultDate(t),rt="",y=0;y<h[0];y++){for(lt="",this.maxRows=4,p=0;p<h[1];p++){if(at=this._daylightSavingAdjust(new Date(f,u,t.selectedDay)),a=" ui-corner-all",e="",dt){if(e+="<div class='ui-datepicker-group",1<h[1])switch(p){case 0:e+=" ui-datepicker-group-first";a=" ui-corner-"+(s?"right":"left");break;case h[1]-1:e+=" ui-datepicker-group-last";a=" ui-corner-"+(s?"left":"right");break;default:e+=" ui-datepicker-group-middle";a=""}e+="'>"}for(e+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+a+"'>"+(/all|left/.test(a)&&0===y?s?ot:et:"")+(/all|right/.test(a)&&0===y?s?et:ot:"")+this._generateMonthYearHeader(t,u,f,d,v,0<y||0<p,ti,ii)+"<\/div><table class='ui-datepicker-calendar'><thead><tr>",vt=st?"<th class='ui-datepicker-week-col'>"+this._get(t,"weekHeader")+"<\/th>":"",c=0;c<7;c++)vt+="<th scope='col'"+(5<=(c+l+6)%7?" class='ui-datepicker-week-end'":"")+"><span title='"+gt[ui=(c+l)%7]+"'>"+ni[ui]+"<\/span><\/th>";for(e+=vt+"<\/tr><\/thead><tbody>",w=this._getDaysInMonth(f,u),f===t.selectedYear&&u===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,w)),yt=(this._getFirstDayOfMonth(f,u)-l+7)%7,w=Math.ceil((yt+w)/7),pt=dt&&this.maxRows>w?this.maxRows:w,this.maxRows=pt,i=this._daylightSavingAdjust(new Date(f,u,1-yt)),wt=0;wt<pt;wt++){for(e+="<tr>",bt=st?"<td class='ui-datepicker-week-col'>"+this._get(t,"calculateWeek")(i)+"<\/td>":"",c=0;c<7;c++)nt=ht?ht.apply(t.input?t.input[0]:null,[i]):[!0,""],ut=(b=i.getMonth()!==u)&&!ri||!nt[0]||d&&i<d||v&&v<i,bt+="<td class='"+(5<=(c+l+6)%7?" ui-datepicker-week-end":"")+(b?" ui-datepicker-other-month":"")+(i.getTime()===at.getTime()&&u===t.selectedMonth&&t._keyEvent||ct.getTime()===i.getTime()&&ct.getTime()===at.getTime()?" "+this._dayOverClass:"")+(ut?" "+this._unselectableClass+" ui-state-disabled":"")+(b&&!it?"":" "+nt[1]+(i.getTime()===ft.getTime()?" "+this._currentClass:"")+(i.getTime()===kt.getTime()?" ui-datepicker-today":""))+"'"+(b&&!it||!nt[2]?"":" title='"+nt[2].replace(/'/g,"&#39;")+"'")+(ut?"":" data-handler='selectDay' data-event='click' data-month='"+i.getMonth()+"' data-year='"+i.getFullYear()+"'")+">"+(b&&!it?"&#xa0;":ut?"<span class='ui-state-default'>"+i.getDate()+"<\/span>":"<a class='ui-state-default"+(i.getTime()===kt.getTime()?" ui-state-highlight":"")+(i.getTime()===ft.getTime()?" ui-state-active":"")+(b?" ui-priority-secondary":"")+"' href='#' aria-current='"+(i.getTime()===ft.getTime()?"true":"false")+"' data-date='"+i.getDate()+"'>"+i.getDate()+"<\/a>")+"<\/td>",i.setDate(i.getDate()+1),i=this._daylightSavingAdjust(i);e+=bt+"<\/tr>"}11<++u&&(u=0,f++);lt+=e+="<\/tbody><\/table>"+(dt?"<\/div>"+(0<h[0]&&p===h[1]-1?"<div class='ui-datepicker-row-break'><\/div>":""):"")}rt+=lt}return rt+=k,t._keyEvent=!1,rt},_generateMonthYearHeader:function(n,t,i,r,u,f,e,o){var b,k,h,v,s,a,y=this._get(n,"changeMonth"),p=this._get(n,"changeYear"),d=this._get(n,"showMonthAfterYear"),w=this._get(n,"selectMonthLabel"),g=this._get(n,"selectYearLabel"),c="<div class='ui-datepicker-title'>",l="";if(f||!y)l+="<span class='ui-datepicker-month'>"+e[t]+"<\/span>";else{for(b=r&&r.getFullYear()===i,k=u&&u.getFullYear()===i,l+="<select class='ui-datepicker-month' aria-label='"+w+"' data-handler='selectMonth' data-event='change'>",h=0;h<12;h++)(!b||h>=r.getMonth())&&(!k||h<=u.getMonth())&&(l+="<option value='"+h+"'"+(h===t?" selected='selected'":"")+">"+o[h]+"<\/option>");l+="<\/select>"}if(d||(c+=l+(!f&&y&&p?"":"&#xa0;")),!n.yearshtml)if(n.yearshtml="",f||!p)c+="<span class='ui-datepicker-year'>"+i+"<\/span>";else{for(e=this._get(n,"yearRange").split(":"),v=(new Date).getFullYear(),s=(w=function(n){return n=n.match(/c[+\-].*/)?i+parseInt(n.substring(1),10):n.match(/[+\-].*/)?v+parseInt(n,10):parseInt(n,10),isNaN(n)?v:n})(e[0]),a=Math.max(s,w(e[1]||"")),s=r?Math.max(s,r.getFullYear()):s,a=u?Math.min(a,u.getFullYear()):a,n.yearshtml+="<select class='ui-datepicker-year' aria-label='"+g+"' data-handler='selectYear' data-event='change'>";s<=a;s++)n.yearshtml+="<option value='"+s+"'"+(s===i?" selected='selected'":"")+">"+s+"<\/option>";n.yearshtml+="<\/select>";c+=n.yearshtml;n.yearshtml=null}return c+=this._get(n,"yearSuffix"),d&&(c+=(!f&&y&&p?"":"&#xa0;")+l),c+"<\/div>"},_adjustInstDate:function(n,t,i){var r=n.selectedYear+("Y"===i?t:0),u=n.selectedMonth+("M"===i?t:0),t=Math.min(n.selectedDay,this._getDaysInMonth(r,u))+("D"===i?t:0),t=this._restrictMinMax(n,this._daylightSavingAdjust(new Date(r,u,t)));n.selectedDay=t.getDate();n.drawMonth=n.selectedMonth=t.getMonth();n.drawYear=n.selectedYear=t.getFullYear();"M"!==i&&"Y"!==i||this._notifyChange(n)},_restrictMinMax:function(n,t){var i=this._getMinMaxDate(n,"min"),n=this._getMinMaxDate(n,"max"),t=i&&t<i?i:t;return n&&n<t?n:t},_notifyChange:function(n){var t=this._get(n,"onChangeMonthYear");t&&t.apply(n.input?n.input[0]:null,[n.selectedYear,n.selectedMonth+1,n])},_getNumberOfMonths:function(n){return n=this._get(n,"numberOfMonths"),null==n?[1,1]:"number"==typeof n?[1,n]:n},_getMinMaxDate:function(n,t){return this._determineDate(n,this._get(n,t+"Date"),null)},_getDaysInMonth:function(n,t){return 32-this._daylightSavingAdjust(new Date(n,t,32)).getDate()},_getFirstDayOfMonth:function(n,t){return new Date(n,t,1).getDay()},_canAdjustMonth:function(n,t,i,r){var u=this._getNumberOfMonths(n),u=this._daylightSavingAdjust(new Date(i,r+(t<0?t:u[0]*u[1]),1));return t<0&&u.setDate(this._getDaysInMonth(u.getFullYear(),u.getMonth())),this._isInRange(n,u)},_isInRange:function(n,t){var f=this._getMinMaxDate(n,"min"),e=this._getMinMaxDate(n,"max"),r=null,u=null,i=this._get(n,"yearRange");return i&&(n=i.split(":"),i=(new Date).getFullYear(),r=parseInt(n[0],10),u=parseInt(n[1],10),n[0].match(/[+\-].*/)&&(r+=i),n[1].match(/[+\-].*/)&&(u+=i)),(!f||t.getTime()>=f.getTime())&&(!e||t.getTime()<=e.getTime())&&(!r||t.getFullYear()>=r)&&(!u||t.getFullYear()<=u)},_getFormatConfig:function(n){var t=this._get(n,"shortYearCutoff");return{shortYearCutoff:t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),dayNamesShort:this._get(n,"dayNamesShort"),dayNames:this._get(n,"dayNames"),monthNamesShort:this._get(n,"monthNamesShort"),monthNames:this._get(n,"monthNames")}},_formatDate:function(n,t,i,r){return t||(n.currentDay=n.selectedDay,n.currentMonth=n.selectedMonth,n.currentYear=n.selectedYear),t=t?"object"==typeof t?t:this._daylightSavingAdjust(new Date(r,i,t)):this._daylightSavingAdjust(new Date(n.currentYear,n.currentMonth,n.currentDay)),this.formatDate(this._get(n,"dateFormat"),t,this._getFormatConfig(n))}});n.fn.datepicker=function(t){if(!this.length)return this;n.datepicker.initialized||(n(document).on("mousedown",n.datepicker._checkExternalClick),n.datepicker.initialized=!0);0===n("#"+n.datepicker._mainDivId).length&&n("body").append(n.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"==typeof t&&("isDisabled"===t||"getDate"===t||"widget"===t)||"option"===t&&2===arguments.length&&"string"==typeof arguments[1]?n.datepicker["_"+t+"Datepicker"].apply(n.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof t?n.datepicker["_"+t+"Datepicker"].apply(n.datepicker,[this].concat(i)):n.datepicker._attachDatepicker(this,t)})};n.datepicker=new yi;n.datepicker.initialized=!1;n.datepicker.uuid=(new Date).getTime();n.datepicker.version="1.13.2";n.datepicker;n.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());l=!1;n(document).on("mouseup",function(){l=!1});n.widget("ui.mouse",{version:"1.13.2",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.on("mousedown."+this.widgetName,function(n){return t._mouseDown(n)}).on("click."+this.widgetName,function(i){if(!0===n.data(i.target,t.widgetName+".preventClickEvent"))return n.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1});this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName);this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){if(!l){this._mouseMoved=!1;this._mouseStarted&&this._mouseUp(t);this._mouseDownEvent=t;var i=this,r=1===t.which,u=!("string"!=typeof this.options.cancel||!t.target.nodeName)&&n(t.target).closest(this.options.cancel).length;return r&&!u&&this._mouseCapture(t)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=!1!==this._mouseStart(t),!this._mouseStarted)?(t.preventDefault(),!0):(!0===n.data(t.target,this.widgetName+".preventClickEvent")&&n.removeData(t.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(n){return i._mouseMove(n)},this._mouseUpDelegate=function(n){return i._mouseUp(n)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),t.preventDefault(),l=!0)):!0}},_mouseMove:function(t){if(this._mouseMoved){if(n.ui.ie&&(!document.documentMode||document.documentMode<9)&&!t.button)return this._mouseUp(t);if(!t.which)if(t.originalEvent.altKey||t.originalEvent.ctrlKey||t.originalEvent.metaKey||t.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(t)}return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,t),this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate);this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&n.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t));this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer);this.ignoreMissingWhich=!1;l=!1;t.preventDefault()},_mouseDistanceMet:function(n){return Math.max(Math.abs(this._mouseDownEvent.pageX-n.pageX),Math.abs(this._mouseDownEvent.pageY-n.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}});n.ui.plugin={add:function(t,i,r){var u,f=n.ui[t].prototype;for(u in r)f.plugins[u]=f.plugins[u]||[],f.plugins[u].push([i,r[u]])},call:function(n,t,i,r){var u,f=n.plugins[t];if(f&&(r||n.element[0].parentNode&&11!==n.element[0].parentNode.nodeType))for(u=0;u<f.length;u++)n.options[f[u][0]]&&f[u][1].apply(n.element,i)}};n.ui.safeBlur=function(t){t&&"body"!==t.nodeName.toLowerCase()&&n(t).trigger("blur")};n.widget("ui.draggable",n.ui.mouse,{version:"1.13.2",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative();this.options.addClasses&&this._addClass("ui-draggable");this._setHandleClassName();this._mouseInit()},_setOption:function(n,t){this._super(n,t);"handle"===n&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){(this.helper||this.element).is(".ui-draggable-dragging")?this.destroyOnClear=!0:(this._removeHandleClassName(),this._mouseDestroy())},_mouseCapture:function(t){var i=this.options;return!(this.helper||i.disabled||0<n(t.target).closest(".ui-resizable-handle").length)&&(this.handle=this._getHandle(t),!!this.handle&&(this._blurActiveElement(t),this._blockFrames(!0===i.iframeFix?"iframe":i.iframeFix),!0))},_blockFrames:function(t){this.iframeBlocks=this.document.find(t).map(function(){var t=n(this);return n("<div>").css("position","absolute").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(t){var i=n.ui.safeActiveElement(this.document[0]);n(t.target).closest(i).length||n.ui.safeBlur(i)},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),n.ui.ddmanager&&(n.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=0<this.helper.parents().filter(function(){return"fixed"===n(this).css("position")}).length,this.positionAbs=this.element.offset(),this._refreshOffsets(t),this.originalPosition=this.position=this._generatePosition(t,!1),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),!1===this._trigger("start",t)?(this._clear(),!1):(this._cacheHelperProportions(),n.ui.ddmanager&&!i.dropBehaviour&&n.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),n.ui.ddmanager&&n.ui.ddmanager.dragStart(this,t),!0)},_refreshOffsets:function(n){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()};this.offset.click={left:n.pageX-this.offset.left,top:n.pageY-this.offset.top}},_mouseDrag:function(t,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){if(i=this._uiHash(),!1===this._trigger("drag",t,i))return this._mouseUp(new n.Event("mouseup",t)),!1;this.position=i.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",n.ui.ddmanager&&n.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var r=this,i=!1;return n.ui.ddmanager&&!this.options.dropBehaviour&&(i=n.ui.ddmanager.drop(this,t)),this.dropped&&(i=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!i||"valid"===this.options.revert&&i||!0===this.options.revert||"function"==typeof this.options.revert&&this.options.revert.call(this.element,i)?n(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){!1!==r._trigger("stop",t)&&r._clear()}):!1!==this._trigger("stop",t)&&this._clear(),!1},_mouseUp:function(t){return this._unblockFrames(),n.ui.ddmanager&&n.ui.ddmanager.dragStop(this,t),this.handleElement.is(t.target)&&this.element.trigger("focus"),n.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new n.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(t){return!this.options.handle||!!n(t.target).closest(this.element.find(this.options.handle)).length},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element;this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(t){var i=this.options,r="function"==typeof i.helper,t=r?n(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return t.parents("body").length||t.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),r&&t[0]===this.element[0]&&this._setPositionRelative(),t[0]===this.element[0]||/(fixed|absolute)/.test(t.css("position"))||t.css("position","absolute"),t},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(n){"string"==typeof n&&(n=n.split(" "));"left"in(n=Array.isArray(n)?{left:+n[0],top:+n[1]||0}:n)&&(this.offset.click.left=n.left+this.margins.left);"right"in n&&(this.offset.click.left=this.helperProportions.width-n.right+this.margins.left);"top"in n&&(this.offset.click.top=n.top+this.margins.top);"bottom"in n&&(this.offset.click.top=this.helperProportions.height-n.bottom+this.margins.top)},_isRootNode:function(n){return/(html|body)/i.test(n.tagName)||n===this.document[0]},_getParentOffset:function(){var t=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&n.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),{top:(t=this._isRootNode(this.offsetParent[0])?{top:0,left:0}:t).top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var n=this.element.position(),t=this._isRootNode(this.scrollParent[0]);return{top:n.top-(parseInt(this.helper.css("top"),10)||0)+(t?0:this.scrollParent.scrollTop()),left:n.left-(parseInt(this.helper.css("left"),10)||0)+(t?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var f,t,r,i=this.options,u=this.document[0];this.relativeContainer=null;i.containment?"window"!==i.containment?"document"!==i.containment?i.containment.constructor!==Array?("parent"===i.containment&&(i.containment=this.helper[0].parentNode),(r=(t=n(i.containment))[0])&&(f=/(scroll|auto)/.test(t.css("overflow")),this.containment=[(parseInt(t.css("borderLeftWidth"),10)||0)+(parseInt(t.css("paddingLeft"),10)||0),(parseInt(t.css("borderTopWidth"),10)||0)+(parseInt(t.css("paddingTop"),10)||0),(f?Math.max(r.scrollWidth,r.offsetWidth):r.offsetWidth)-(parseInt(t.css("borderRightWidth"),10)||0)-(parseInt(t.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(f?Math.max(r.scrollHeight,r.offsetHeight):r.offsetHeight)-(parseInt(t.css("borderBottomWidth"),10)||0)-(parseInt(t.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=t)):this.containment=i.containment:this.containment=[0,0,n(u).width()-this.helperProportions.width-this.margins.left,(n(u).height()||u.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=[n(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,n(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,n(window).scrollLeft()+n(window).width()-this.helperProportions.width-this.margins.left,n(window).scrollTop()+(n(window).height()||u.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=null},_convertPositionTo:function(n,t){t=t||this.position;var i="absolute"===n?1:-1,n=this._isRootNode(this.scrollParent[0]);return{top:t.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:n?0:this.offset.scroll.top)*i,left:t.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:n?0:this.offset.scroll.left)*i}},_generatePosition:function(n,t){var i,r=this.options,e=this._isRootNode(this.scrollParent[0]),u=n.pageX,f=n.pageY;return e&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),t&&(this.containment&&(i=this.relativeContainer?(i=this.relativeContainer.offset(),[this.containment[0]+i.left,this.containment[1]+i.top,this.containment[2]+i.left,this.containment[3]+i.top]):this.containment,n.pageX-this.offset.click.left<i[0]&&(u=i[0]+this.offset.click.left),n.pageY-this.offset.click.top<i[1]&&(f=i[1]+this.offset.click.top),n.pageX-this.offset.click.left>i[2]&&(u=i[2]+this.offset.click.left),n.pageY-this.offset.click.top>i[3]&&(f=i[3]+this.offset.click.top)),r.grid&&(n=r.grid[1]?this.originalPageY+Math.round((f-this.originalPageY)/r.grid[1])*r.grid[1]:this.originalPageY,f=!i||n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-r.grid[1]:n+r.grid[1],n=r.grid[0]?this.originalPageX+Math.round((u-this.originalPageX)/r.grid[0])*r.grid[0]:this.originalPageX,u=!i||n-this.offset.click.left>=i[0]||n-this.offset.click.left>i[2]?n:n-this.offset.click.left>=i[0]?n-r.grid[0]:n+r.grid[0]),"y"===r.axis&&(u=this.originalPageX),"x"===r.axis&&(f=this.originalPageY)),{top:f-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:e?0:this.offset.scroll.top),left:u-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:e?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging");this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove();this.helper=null;this.cancelHelperRemoval=!1;this.destroyOnClear&&this.destroy()},_trigger:function(t,i,r){return r=r||this._uiHash(),n.ui.plugin.call(this,t,[i,r,this],!0),/^(drag|start|stop)/.test(t)&&(this.positionAbs=this._convertPositionTo("absolute"),r.offset=this.positionAbs),n.Widget.prototype._trigger.call(this,t,i,r)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}});n.ui.plugin.add("draggable","connectToSortable",{start:function(t,i,r){var u=n.extend({},i,{item:r.element});r.sortables=[];n(r.options.connectToSortable).each(function(){var i=n(this).sortable("instance");i&&!i.options.disabled&&(r.sortables.push(i),i.refreshPositions(),i._trigger("activate",t,u))})},stop:function(t,i,r){var u=n.extend({},i,{item:r.element});r.cancelHelperRemoval=!1;n.each(r.sortables,function(){var n=this;n.isOver?(n.isOver=0,r.cancelHelperRemoval=!0,n.cancelHelperRemoval=!1,n._storedCSS={position:n.placeholder.css("position"),top:n.placeholder.css("top"),left:n.placeholder.css("left")},n._mouseStop(t),n.options.helper=n.options._helper):(n.cancelHelperRemoval=!0,n._trigger("deactivate",t,u))})},drag:function(t,i,r){n.each(r.sortables,function(){var f=!1,u=this;u.positionAbs=r.positionAbs;u.helperProportions=r.helperProportions;u.offset.click=r.offset.click;u._intersectsWith(u.containerCache)&&(f=!0,n.each(r.sortables,function(){return this.positionAbs=r.positionAbs,this.helperProportions=r.helperProportions,this.offset.click=r.offset.click,f=this!==u&&this._intersectsWith(this.containerCache)&&n.contains(u.element[0],this.element[0])?!1:f}));f?(u.isOver||(u.isOver=1,r._parent=i.helper.parent(),u.currentItem=i.helper.appendTo(u.element).data("ui-sortable-item",!0),u.options._helper=u.options.helper,u.options.helper=function(){return i.helper[0]},t.target=u.currentItem[0],u._mouseCapture(t,!0),u._mouseStart(t,!0,!0),u.offset.click.top=r.offset.click.top,u.offset.click.left=r.offset.click.left,u.offset.parent.left-=r.offset.parent.left-u.offset.parent.left,u.offset.parent.top-=r.offset.parent.top-u.offset.parent.top,r._trigger("toSortable",t),r.dropped=u.element,n.each(r.sortables,function(){this.refreshPositions()}),r.currentItem=r.element,u.fromOutside=r),u.currentItem&&(u._mouseDrag(t),i.position=u.position)):u.isOver&&(u.isOver=0,u.cancelHelperRemoval=!0,u.options._revert=u.options.revert,u.options.revert=!1,u._trigger("out",t,u._uiHash(u)),u._mouseStop(t,!0),u.options.revert=u.options._revert,u.options.helper=u.options._helper,u.placeholder&&u.placeholder.remove(),i.helper.appendTo(r._parent),r._refreshOffsets(t),i.position=r._generatePosition(t,!0),r._trigger("fromSortable",t),r.dropped=!1,n.each(r.sortables,function(){this.refreshPositions()}))})}});n.ui.plugin.add("draggable","cursor",{start:function(t,i,r){var u=n("body"),r=r.options;u.css("cursor")&&(r._cursor=u.css("cursor"));u.css("cursor",r.cursor)},stop:function(t,i,r){r=r.options;r._cursor&&n("body").css("cursor",r._cursor)}});n.ui.plugin.add("draggable","opacity",{start:function(t,i,r){i=n(i.helper);r=r.options;i.css("opacity")&&(r._opacity=i.css("opacity"));i.css("opacity",r.opacity)},stop:function(t,i,r){r=r.options;r._opacity&&n(i.helper).css("opacity",r._opacity)}});n.ui.plugin.add("draggable","scroll",{start:function(n,t,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1));i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(t,i,r){var u=r.options,o=!1,e=r.scrollParentNotHidden[0],f=r.document[0];e!==f&&"HTML"!==e.tagName?(u.axis&&"x"===u.axis||(r.overflowOffset.top+e.offsetHeight-t.pageY<u.scrollSensitivity?e.scrollTop=o=e.scrollTop+u.scrollSpeed:t.pageY-r.overflowOffset.top<u.scrollSensitivity&&(e.scrollTop=o=e.scrollTop-u.scrollSpeed)),u.axis&&"y"===u.axis||(r.overflowOffset.left+e.offsetWidth-t.pageX<u.scrollSensitivity?e.scrollLeft=o=e.scrollLeft+u.scrollSpeed:t.pageX-r.overflowOffset.left<u.scrollSensitivity&&(e.scrollLeft=o=e.scrollLeft-u.scrollSpeed))):(u.axis&&"x"===u.axis||(t.pageY-n(f).scrollTop()<u.scrollSensitivity?o=n(f).scrollTop(n(f).scrollTop()-u.scrollSpeed):n(window).height()-(t.pageY-n(f).scrollTop())<u.scrollSensitivity&&(o=n(f).scrollTop(n(f).scrollTop()+u.scrollSpeed))),u.axis&&"y"===u.axis||(t.pageX-n(f).scrollLeft()<u.scrollSensitivity?o=n(f).scrollLeft(n(f).scrollLeft()-u.scrollSpeed):n(window).width()-(t.pageX-n(f).scrollLeft())<u.scrollSensitivity&&(o=n(f).scrollLeft(n(f).scrollLeft()+u.scrollSpeed))));!1!==o&&n.ui.ddmanager&&!u.dropBehaviour&&n.ui.ddmanager.prepareOffsets(r,t)}});n.ui.plugin.add("draggable","snap",{start:function(t,i,r){var u=r.options;r.snapElements=[];n(u.snap.constructor!==String?u.snap.items||":data(ui-draggable)":u.snap).each(function(){var t=n(this),i=t.offset();this!==r.element[0]&&r.snapElements.push({item:this,width:t.outerWidth(),height:t.outerHeight(),top:i.top,left:i.left})})},drag:function(t,i,r){for(var e,o,s,h,c,l,a,v,w,b=r.options,f=b.snapTolerance,y=i.offset.left,k=y+r.helperProportions.width,p=i.offset.top,d=p+r.helperProportions.height,u=r.snapElements.length-1;0<=u;u--)l=(c=r.snapElements[u].left-r.margins.left)+r.snapElements[u].width,v=(a=r.snapElements[u].top-r.margins.top)+r.snapElements[u].height,k<c-f||l+f<y||d<a-f||v+f<p||!n.contains(r.snapElements[u].item.ownerDocument,r.snapElements[u].item)?(r.snapElements[u].snapping&&r.options.snap.release&&r.options.snap.release.call(r.element,t,n.extend(r._uiHash(),{snapItem:r.snapElements[u].item})),r.snapElements[u].snapping=!1):("inner"!==b.snapMode&&(e=Math.abs(a-d)<=f,o=Math.abs(v-p)<=f,s=Math.abs(c-k)<=f,h=Math.abs(l-y)<=f,e&&(i.position.top=r._convertPositionTo("relative",{top:a-r.helperProportions.height,left:0}).top),o&&(i.position.top=r._convertPositionTo("relative",{top:v,left:0}).top),s&&(i.position.left=r._convertPositionTo("relative",{top:0,left:c-r.helperProportions.width}).left),h&&(i.position.left=r._convertPositionTo("relative",{top:0,left:l}).left)),w=e||o||s||h,"outer"!==b.snapMode&&(e=Math.abs(a-p)<=f,o=Math.abs(v-d)<=f,s=Math.abs(c-y)<=f,h=Math.abs(l-k)<=f,e&&(i.position.top=r._convertPositionTo("relative",{top:a,left:0}).top),o&&(i.position.top=r._convertPositionTo("relative",{top:v-r.helperProportions.height,left:0}).top),s&&(i.position.left=r._convertPositionTo("relative",{top:0,left:c}).left),h&&(i.position.left=r._convertPositionTo("relative",{top:0,left:l-r.helperProportions.width}).left)),!r.snapElements[u].snapping&&(e||o||s||h||w)&&r.options.snap.snap&&r.options.snap.snap.call(r.element,t,n.extend(r._uiHash(),{snapItem:r.snapElements[u].item})),r.snapElements[u].snapping=e||o||s||h||w)}});n.ui.plugin.add("draggable","stack",{start:function(t,i,r){var u,r=r.options,r=n.makeArray(n(r.stack)).sort(function(t,i){return(parseInt(n(t).css("zIndex"),10)||0)-(parseInt(n(i).css("zIndex"),10)||0)});r.length&&(u=parseInt(n(r[0]).css("zIndex"),10)||0,n(r).each(function(t){n(this).css("zIndex",u+t)}),this.css("zIndex",u+r.length))}});n.ui.plugin.add("draggable","zIndex",{start:function(t,i,r){i=n(i.helper);r=r.options;i.css("zIndex")&&(r._zIndex=i.css("zIndex"));i.css("zIndex",r.zIndex)},stop:function(t,i,r){r=r.options;r._zIndex&&n(i.helper).css("zIndex",r._zIndex)}});n.ui.draggable;n.widget("ui.resizable",n.ui.mouse,{version:"1.13.2",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(n){return parseFloat(n)||0},_isNumber:function(n){return!isNaN(parseFloat(n))},_hasScroll:function(t,i){if("hidden"===n(t).css("overflow"))return!1;var r=i&&"left"===i?"scrollLeft":"scrollTop",i=!1;if(0<t[r])return!0;try{t[r]=1;i=0<t[r];t[r]=0}catch(t){}return i},_create:function(){var r,t=this.options,i=this;this._addClass("ui-resizable");n.extend(this,{_aspectRatio:!!t.aspectRatio,aspectRatio:t.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:t.helper||t.ghost||t.animate?t.helper||"ui-resizable-helper":null});this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(n("<div class='ui-wrapper'><\/div>").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,r={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(r),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(r),this._proportionallyResize());this._setupHandles();t.autoHide&&n(this.element).on("mouseenter",function(){t.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){t.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())});this._mouseInit()},_destroy:function(){function i(t){n(t).removeData("resizable").removeData("ui-resizable").off(".resizable")}this._mouseDestroy();this._addedHandles.remove();var t;return this.elementIsWrapper&&(i(this.element),t=this.element,this.originalElement.css({position:t.css("position"),width:t.outerWidth(),height:t.outerHeight(),top:t.css("top"),left:t.css("left")}).insertAfter(t),t.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(n,t){switch(this._super(n,t),n){case"handles":this._removeHandles();this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!t}},_setupHandles:function(){var i,r,u,o,t,f=this.options,e=this;if(this.handles=f.handles||(n(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=n(),this._addedHandles=n(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),u=this.handles.split(","),this.handles={},r=0;r<u.length;r++)o="ui-resizable-"+(i=String.prototype.trim.call(u[r])),t=n("<div>"),this._addClass(t,"ui-resizable-handle "+o),t.css({zIndex:f.zIndex}),this.handles[i]=".ui-resizable-"+i,this.element.children(this.handles[i]).length||(this.element.append(t),this._addedHandles=this._addedHandles.add(t));this._renderAxis=function(t){var i,r,u;for(i in t=t||this.element,this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=n(this.handles[i]),this._on(this.handles[i],{mousedown:e._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(r=n(this.handles[i],this.element),u=/sw|ne|nw|se|n|s/.test(i)?r.outerHeight():r.outerWidth(),r=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),t.css(r,u),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])};this._renderAxis(this.element);this._handles=this._handles.add(this.element.find(".ui-resizable-handle"));this._handles.disableSelection();this._handles.on("mouseover",function(){e.resizing||(this.className&&(t=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),e.axis=t&&t[1]?t[1]:"se")});f.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var i,r,u=!1;for(i in this.handles)((r=n(this.handles[i])[0])===t.target||n.contains(r,t.target))&&(u=!0);return!this.options.disabled&&u},_mouseStart:function(t){var u,f,r=this.options,i=this.element;return this.resizing=!0,this._renderProxy(),u=this._num(this.helper.css("left")),f=this._num(this.helper.css("top")),r.containment&&(u+=n(r.containment).scrollLeft()||0,f+=n(r.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:u,top:f},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:i.width(),height:i.height()},this.originalSize=this._helper?{width:i.outerWidth(),height:i.outerHeight()}:{width:i.width(),height:i.height()},this.sizeDiff={width:i.outerWidth()-i.width(),height:i.outerHeight()-i.height()},this.originalPosition={left:u,top:f},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof r.aspectRatio?r.aspectRatio:this.originalSize.width/this.originalSize.height||1,r=n(".ui-resizable-"+this.axis).css("cursor"),n("body").css("cursor","auto"===r?this.axis+"-resize":r),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var i=this.originalMousePosition,r=this.axis,u=t.pageX-i.left||0,i=t.pageY-i.top||0,r=this._change[r];return this._updatePrevProperties(),r&&(i=r.apply(this,[t,u,i]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(i=this._updateRatio(i,t)),i=this._respectSize(i,t),this._updateCache(i),this._propagate("resize",t),i=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),n.isEmptyObject(i)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var u,r,f,e=this.options,i=this;return this._helper&&(f=(u=(r=this._proportionallyResizeElements).length&&/textarea/i.test(r[0].nodeName))&&this._hasScroll(r[0],"left")?0:i.sizeDiff.height,r=u?0:i.sizeDiff.width,u={width:i.helper.width()-r,height:i.helper.height()-f},r=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,f=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null,e.animate||this.element.css(n.extend(u,{top:f,left:r})),i.helper.height(i.size.height),i.helper.width(i.size.width),this._helper&&!e.animate&&this._proportionallyResize()),n("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left};this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var n={};return this.position.top!==this.prevPosition.top&&(n.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(n.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(n.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(n.height=this.size.height+"px"),this.helper.css(n),n},_updateVirtualBoundaries:function(n){var r,u,i=this.options,t={minWidth:this._isNumber(i.minWidth)?i.minWidth:0,maxWidth:this._isNumber(i.maxWidth)?i.maxWidth:1/0,minHeight:this._isNumber(i.minHeight)?i.minHeight:0,maxHeight:this._isNumber(i.maxHeight)?i.maxHeight:1/0};(this._aspectRatio||n)&&(r=t.minHeight*this.aspectRatio,u=t.minWidth/this.aspectRatio,i=t.maxHeight*this.aspectRatio,n=t.maxWidth/this.aspectRatio,r>t.minWidth&&(t.minWidth=r),u>t.minHeight&&(t.minHeight=u),i<t.maxWidth&&(t.maxWidth=i),n<t.maxHeight&&(t.maxHeight=n));this._vBoundaries=t},_updateCache:function(n){this.offset=this.helper.offset();this._isNumber(n.left)&&(this.position.left=n.left);this._isNumber(n.top)&&(this.position.top=n.top);this._isNumber(n.height)&&(this.size.height=n.height);this._isNumber(n.width)&&(this.size.width=n.width)},_updateRatio:function(n){var t=this.position,i=this.size,r=this.axis;return this._isNumber(n.height)?n.width=n.height*this.aspectRatio:this._isNumber(n.width)&&(n.height=n.width/this.aspectRatio),"sw"===r&&(n.left=t.left+(i.width-n.width),n.top=null),"nw"===r&&(n.top=t.top+(i.height-n.height),n.left=t.left+(i.width-n.width)),n},_respectSize:function(n){var t=this._vBoundaries,i=this.axis,r=this._isNumber(n.width)&&t.maxWidth&&t.maxWidth<n.width,u=this._isNumber(n.height)&&t.maxHeight&&t.maxHeight<n.height,f=this._isNumber(n.width)&&t.minWidth&&t.minWidth>n.width,e=this._isNumber(n.height)&&t.minHeight&&t.minHeight>n.height,o=this.originalPosition.left+this.originalSize.width,s=this.originalPosition.top+this.originalSize.height,h=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return f&&(n.width=t.minWidth),e&&(n.height=t.minHeight),r&&(n.width=t.maxWidth),u&&(n.height=t.maxHeight),f&&h&&(n.left=o-t.minWidth),r&&h&&(n.left=o-t.maxWidth),e&&i&&(n.top=s-t.minHeight),u&&i&&(n.top=s-t.maxHeight),n.width||n.height||n.left||!n.top?n.width||n.height||n.top||!n.left||(n.left=null):n.top=null,n},_getPaddingPlusBorderDimensions:function(n){for(var t=0,i=[],r=[n.css("borderTopWidth"),n.css("borderRightWidth"),n.css("borderBottomWidth"),n.css("borderLeftWidth")],u=[n.css("paddingTop"),n.css("paddingRight"),n.css("paddingBottom"),n.css("paddingLeft")];t<4;t++)i[t]=parseFloat(r[t])||0,i[t]+=parseFloat(u[t])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var n,t=0,i=this.helper||this.element;t<this._proportionallyResizeElements.length;t++)n=this._proportionallyResizeElements[t],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(n)),n.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var t=this.element,i=this.options;this.elementOffset=t.offset();this._helper?(this.helper=this.helper||n("<div><\/div>").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(n,t){return{width:this.originalSize.width+t}},w:function(n,t){var i=this.originalSize;return{left:this.originalPosition.left+t,width:i.width-t}},n:function(n,t,i){var r=this.originalSize;return{top:this.originalPosition.top+i,height:r.height-i}},s:function(n,t,i){return{height:this.originalSize.height+i}},se:function(t,i,r){return n.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,i,r]))},sw:function(t,i,r){return n.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,i,r]))},ne:function(t,i,r){return n.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,i,r]))},nw:function(t,i,r){return n.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,i,r]))}},_propagate:function(t,i){n.ui.plugin.call(this,t,[i,this.ui()]);"resize"!==t&&this._trigger(t,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});n.ui.plugin.add("resizable","animate",{stop:function(t){var i=n(this).resizable("instance"),o=i.options,r=i._proportionallyResizeElements,u=r.length&&/textarea/i.test(r[0].nodeName),f=u&&i._hasScroll(r[0],"left")?0:i.sizeDiff.height,e=u?0:i.sizeDiff.width,u={width:i.size.width-e,height:i.size.height-f},e=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,f=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(n.extend(u,f&&e?{top:f,left:e}:{}),{duration:o.animateDuration,easing:o.animateEasing,step:function(){var u={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};r&&r.length&&n(r[0]).css({width:u.width,height:u.height});i._updateCache(u);i._propagate("resize",t)}})}});n.ui.plugin.add("resizable","containment",{start:function(){var u,e,t=n(this).resizable("instance"),o=t.options,f=t.element,i=o.containment,r=i instanceof n?i.get(0):/parent/.test(i)?f.parent().get(0):i;r&&(t.containerElement=n(r),/document/.test(i)||i===document?(t.containerOffset={left:0,top:0},t.containerPosition={left:0,top:0},t.parentData={element:n(document),left:0,top:0,width:n(document).width(),height:n(document).height()||document.body.parentNode.scrollHeight}):(u=n(r),e=[],n(["Top","Right","Left","Bottom"]).each(function(n,i){e[n]=t._num(u.css("padding"+i))}),t.containerOffset=u.offset(),t.containerPosition=u.position(),t.containerSize={height:u.innerHeight()-e[3],width:u.innerWidth()-e[1]},o=t.containerOffset,f=t.containerSize.height,i=t.containerSize.width,i=t._hasScroll(r,"left")?r.scrollWidth:i,f=t._hasScroll(r)?r.scrollHeight:f,t.parentData={element:r,left:o.left,top:o.top,width:i,height:f}))},resize:function(t){var i=n(this).resizable("instance"),o=i.options,r=i.containerOffset,u=i.position,f=i._aspectRatio||t.shiftKey,e={top:0,left:0},s=i.containerElement,t=!0;s[0]!==document&&/static/.test(s.css("position"))&&(e=r);u.left<(i._helper?r.left:0)&&(i.size.width=i.size.width+(i._helper?i.position.left-r.left:i.position.left-e.left),f&&(i.size.height=i.size.width/i.aspectRatio,t=!1),i.position.left=o.helper?r.left:0);u.top<(i._helper?r.top:0)&&(i.size.height=i.size.height+(i._helper?i.position.top-r.top:i.position.top),f&&(i.size.width=i.size.height*i.aspectRatio,t=!1),i.position.top=i._helper?r.top:0);o=i.containerElement.get(0)===i.element.parent().get(0);u=/relative|absolute/.test(i.containerElement.css("position"));o&&u?(i.offset.left=i.parentData.left+i.position.left,i.offset.top=i.parentData.top+i.position.top):(i.offset.left=i.element.offset().left,i.offset.top=i.element.offset().top);u=Math.abs(i.sizeDiff.width+(i._helper?i.offset.left-e.left:i.offset.left-r.left));r=Math.abs(i.sizeDiff.height+(i._helper?i.offset.top-e.top:i.offset.top-r.top));u+i.size.width>=i.parentData.width&&(i.size.width=i.parentData.width-u,f&&(i.size.height=i.size.width/i.aspectRatio,t=!1));r+i.size.height>=i.parentData.height&&(i.size.height=i.parentData.height-r,f&&(i.size.width=i.size.height*i.aspectRatio,t=!1));t||(i.position.left=i.prevPosition.left,i.position.top=i.prevPosition.top,i.size.width=i.prevSize.width,i.size.height=i.prevSize.height)},stop:function(){var t=n(this).resizable("instance"),r=t.options,u=t.containerOffset,f=t.containerPosition,e=t.containerElement,i=n(t.helper),o=i.offset(),s=i.outerWidth()-t.sizeDiff.width,i=i.outerHeight()-t.sizeDiff.height;t._helper&&!r.animate&&/relative/.test(e.css("position"))&&n(this).css({left:o.left-f.left-u.left,width:s,height:i});t._helper&&!r.animate&&/static/.test(e.css("position"))&&n(this).css({left:o.left-f.left-u.left,width:s,height:i})}});n.ui.plugin.add("resizable","alsoResize",{start:function(){var t=n(this).resizable("instance").options;n(t.alsoResize).each(function(){var t=n(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var r=n(this).resizable("instance"),e=r.options,u=r.originalSize,f=r.originalPosition,o={height:r.size.height-u.height||0,width:r.size.width-u.width||0,top:r.position.top-f.top||0,left:r.position.left-f.left||0};n(e.alsoResize).each(function(){var t=n(this),u=n(this).data("ui-resizable-alsoresize"),r={},f=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];n.each(f,function(n,t){var i=(u[t]||0)+(o[t]||0);i&&0<=i&&(r[t]=i||null)});t.css(r)})},stop:function(){n(this).removeData("ui-resizable-alsoresize")}});n.ui.plugin.add("resizable","ghost",{start:function(){var t=n(this).resizable("instance"),i=t.size;t.ghost=t.originalElement.clone();t.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0});t._addClass(t.ghost,"ui-resizable-ghost");!1!==n.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost);t.ghost.appendTo(t.helper)},resize:function(){var t=n(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=n(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}});n.ui.plugin.add("resizable","grid",{resize:function(){var c,t=n(this).resizable("instance"),i=t.options,h=t.size,o=t.originalSize,s=t.originalPosition,l=t.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,f=a[0]||1,e=a[1]||1,v=Math.round((h.width-o.width)/f)*f,y=Math.round((h.height-o.height)/e)*e,r=o.width+v,u=o.height+y,p=i.maxWidth&&i.maxWidth<r,w=i.maxHeight&&i.maxHeight<u,b=i.minWidth&&i.minWidth>r,h=i.minHeight&&i.minHeight>u;i.grid=a;b&&(r+=f);h&&(u+=e);p&&(r-=f);w&&(u-=e);/^(se|s|e)$/.test(l)?(t.size.width=r,t.size.height=u):/^(ne)$/.test(l)?(t.size.width=r,t.size.height=u,t.position.top=s.top-y):/^(sw)$/.test(l)?(t.size.width=r,t.size.height=u,t.position.left=s.left-v):((u-e<=0||r-f<=0)&&(c=t._getPaddingPlusBorderDimensions(this)),0<u-e?(t.size.height=u,t.position.top=s.top-y):(u=e-c.height,t.size.height=u,t.position.top=s.top+o.height-u),0<r-f?(t.size.width=r,t.position.left=s.left-v):(r=f-c.width,t.size.width=r,t.position.left=s.left+o.width-r))}});n.ui.resizable;n.widget("ui.dialog",{version:"1.13.2",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var i=n(this).css(t).offset().top;i<0&&n(this).css("top",t.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height};this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)};this.originalTitle=this.element.attr("title");null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle);this.options.disabled&&(this.options.disabled=!1);this._createWrapper();this.element.show().removeAttr("title").appendTo(this.uiDialog);this._addClass("ui-dialog-content","ui-widget-content");this._createTitlebar();this._createButtonPane();this.options.draggable&&n.fn.draggable&&this._makeDraggable();this.options.resizable&&n.fn.resizable&&this._makeResizable();this._isOpen=!1;this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var t=this.options.appendTo;return t&&(t.jquery||t.nodeType)?n(t):this.document.find(t||"body").eq(0)},_destroy:function(){var n,t=this.originalPosition;this._untrackInstance();this._destroyOverlay();this.element.removeUniqueId().css(this.originalCss).detach();this.uiDialog.remove();this.originalTitle&&this.element.attr("title",this.originalTitle);(n=t.parent.children().eq(t.index)).length&&n[0]!==this.element[0]?n.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},disable:n.noop,enable:n.noop,close:function(t){var i=this;this._isOpen&&!1!==this._trigger("beforeClose",t)&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||n.ui.safeBlur(n.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",t)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,i){var u=!1,r=this.uiDialog.siblings(".ui-front:visible").map(function(){return+n(this).css("z-index")}).get(),r=Math.max.apply(null,r);return r>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",r+1),u=!0),u&&!i&&this._trigger("focus",t),u},open:function(){var t=this;this._isOpen?this._moveToTop()&&this._focusTabbable():(this._isOpen=!0,this.opener=n(n.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){t._focusTabbable();t._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"))},_focusTabbable:function(){var n=this._focusedElement;(n=(n=(n=(n=(n=n||this.element.find("[autofocus]")).length?n:this.element.find(":tabbable")).length?n:this.uiDialogButtonPane.find(":tabbable")).length?n:this.uiDialogTitlebarClose.filter(":tabbable")).length?n:this.uiDialog).eq(0).trigger("focus")},_restoreTabbableFocus:function(){var t=n.ui.safeActiveElement(this.document[0]);this.uiDialog[0]===t||n.contains(this.uiDialog[0],t)||this._focusTabbable()},_keepFocus:function(n){n.preventDefault();this._restoreTabbableFocus();this._delay(this._restoreTabbableFocus)},_createWrapper:function(){this.uiDialog=n("<div>").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo());this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front");this._on(this.uiDialog,{keydown:function(t){if(this.options.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===n.ui.keyCode.ESCAPE)return t.preventDefault(),void this.close(t);var i,r,u;t.keyCode!==n.ui.keyCode.TAB||t.isDefaultPrevented()||(i=this.uiDialog.find(":tabbable"),r=i.first(),u=i.last(),t.target!==u[0]&&t.target!==this.uiDialog[0]||t.shiftKey?t.target!==r[0]&&t.target!==this.uiDialog[0]||!t.shiftKey||(this._delay(function(){u.trigger("focus")}),t.preventDefault()):(this._delay(function(){r.trigger("focus")}),t.preventDefault()))},mousedown:function(n){this._moveToTop(n)&&this._focusTabbable()}});this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var t;this.uiDialogTitlebar=n("<div>");this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix");this._on(this.uiDialogTitlebar,{mousedown:function(t){n(t.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}});this.uiDialogTitlebarClose=n("<button type='button'><\/button>").button({label:n("<a>").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar);this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close");this._on(this.uiDialogTitlebarClose,{click:function(n){n.preventDefault();this.close(n)}});t=n("<span>").uniqueId().prependTo(this.uiDialogTitlebar);this._addClass(t,"ui-dialog-title");this._title(t);this.uiDialogTitlebar.prependTo(this.uiDialog);this.uiDialog.attr({"aria-labelledby":t.attr("id")})},_title:function(n){this.options.title?n.text(this.options.title):n.html("&#160;")},_createButtonPane:function(){this.uiDialogButtonPane=n("<div>");this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix");this.uiButtonSet=n("<div>").appendTo(this.uiDialogButtonPane);this._addClass(this.uiButtonSet,"ui-dialog-buttonset");this._createButtons()},_createButtons:function(){var i=this,t=this.options.buttons;this.uiDialogButtonPane.remove();this.uiButtonSet.empty();n.isEmptyObject(t)||Array.isArray(t)&&!t.length?this._removeClass(this.uiDialog,"ui-dialog-buttons"):(n.each(t,function(t,r){var u;r=n.extend({type:"button"},r="function"==typeof r?{click:r,text:t}:r);u=r.click;t={icon:r.icon,iconPosition:r.iconPosition,showLabel:r.showLabel,icons:r.icons,text:r.text};delete r.click;delete r.icon;delete r.iconPosition;delete r.showLabel;delete r.icons;"boolean"==typeof r.text&&delete r.text;n("<button><\/button>",r).button(t).appendTo(i.uiButtonSet).on("click",function(){u.apply(i.element[0],arguments)})}),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){function i(n){return{position:n.position,offset:n.offset}}var t=this,r=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(r,u){t._addClass(n(this),"ui-dialog-dragging");t._blockFrames();t._trigger("dragStart",r,i(u))},drag:function(n,r){t._trigger("drag",n,i(r))},stop:function(u,f){var e=f.offset.left-t.document.scrollLeft(),o=f.offset.top-t.document.scrollTop();r.position={my:"left top",at:"left"+(0<=e?"+":"")+e+" top"+(0<=o?"+":"")+o,of:t.window};t._removeClass(n(this),"ui-dialog-dragging");t._unblockFrames();t._trigger("dragStop",u,i(f))}})},_makeResizable:function(){function u(n){return{originalPosition:n.originalPosition,originalSize:n.originalSize,position:n.position,size:n.size}}var t=this,i=this.options,r=i.resizable,f=this.uiDialog.css("position"),r="string"==typeof r?r:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:i.maxWidth,maxHeight:i.maxHeight,minWidth:i.minWidth,minHeight:this._minHeight(),handles:r,start:function(i,r){t._addClass(n(this),"ui-dialog-resizing");t._blockFrames();t._trigger("resizeStart",i,u(r))},resize:function(n,i){t._trigger("resize",n,u(i))},stop:function(r,f){var e=t.uiDialog.offset(),o=e.left-t.document.scrollLeft(),e=e.top-t.document.scrollTop();i.height=t.uiDialog.height();i.width=t.uiDialog.width();i.position={my:"left top",at:"left"+(0<=o?"+":"")+o+" top"+(0<=e?"+":"")+e,of:t.window};t._removeClass(n(this),"ui-dialog-resizing");t._unblockFrames();t._trigger("resizeStop",r,u(f))}}).css("position",f)},_trackFocus:function(){this._on(this.widget(),{focusin:function(t){this._makeFocusTarget();this._focusedElement=n(t.target)}})},_makeFocusTarget:function(){this._untrackInstance();this._trackingInstances().unshift(this)},_untrackInstance:function(){var t=this._trackingInstances(),i=n.inArray(this,t);-1!==i&&t.splice(i,1)},_trackingInstances:function(){var n=this.document.data("ui-dialog-instances");return n||this.document.data("ui-dialog-instances",n=[]),n},_minHeight:function(){var n=this.options;return"auto"===n.height?n.minHeight:Math.min(n.minHeight,n.height)},_position:function(){var n=this.uiDialog.is(":visible");n||this.uiDialog.show();this.uiDialog.position(this.options.position);n||this.uiDialog.hide()},_setOptions:function(t){var i=this,r=!1,u={};n.each(t,function(n,t){i._setOption(n,t);n in i.sizeRelatedOptions&&(r=!0);n in i.resizableRelatedOptions&&(u[n]=t)});r&&(this._size(),this._position());this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",u)},_setOption:function(t,i){var r,u=this.uiDialog;"disabled"!==t&&(this._super(t,i),"appendTo"===t&&this.uiDialog.appendTo(this._appendTo()),"buttons"===t&&this._createButtons(),"closeText"===t&&this.uiDialogTitlebarClose.button({label:n("<a>").text(""+this.options.closeText).html()}),"draggable"===t&&((r=u.is(":data(ui-draggable)"))&&!i&&u.draggable("destroy"),!r&&i&&this._makeDraggable()),"position"===t&&this._position(),"resizable"===t&&((r=u.is(":data(ui-resizable)"))&&!i&&u.resizable("destroy"),r&&"string"==typeof i&&u.resizable("option","handles",i),r||!1===i||this._makeResizable()),"title"===t&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,i,r,n=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0});n.minWidth>n.width&&(n.width=n.minWidth);t=this.uiDialog.css({height:"auto",width:n.width}).outerHeight();i=Math.max(0,n.minHeight-t);r="number"==typeof n.maxHeight?Math.max(0,n.maxHeight-t):"none";"auto"===n.height?this.element.css({minHeight:i,maxHeight:r,height:"auto"}):this.element.height(Math.max(0,n.height-t));this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var t=n(this);return n("<div>").css({position:"absolute",width:t.outerWidth(),height:t.outerHeight()}).appendTo(t.parent()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(t){return!!n(t.target).closest(".ui-dialog").length||!!n(t.target).closest(".ui-datepicker").length},_createOverlay:function(){var t,i;this.options.modal&&(t=n.fn.jquery.substring(0,4),i=!0,this._delay(function(){i=!1}),this.document.data("ui-dialog-overlays")||this.document.on("focusin.ui-dialog",function(n){var r;i||(r=this._trackingInstances()[0])._allowInteraction(n)||(n.preventDefault(),r._focusTabbable(),"3.4."!==t&&"3.5."!==t||r._delay(r._restoreTabbableFocus))}.bind(this)),this.overlay=n("<div>").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1))},_destroyOverlay:function(){var n;this.options.modal&&this.overlay&&((n=this.document.data("ui-dialog-overlays")-1)?this.document.data("ui-dialog-overlays",n):(this.document.off("focusin.ui-dialog"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null)}});!1!==n.uiBackCompat&&n.widget("ui.dialog",n.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super();this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(n,t){"dialogClass"===n&&this.uiDialog.removeClass(this.options.dialogClass).addClass(t);this._superApply(arguments)}});n.ui.dialog;n.widget("ui.droppable",{version:"1.13.2",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var n,t=this.options,i=t.accept;this.isover=!1;this.isout=!0;this.accept="function"==typeof i?i:function(n){return n.is(i)};this.proportions=function(){if(!arguments.length)return n=n||{width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};n=arguments[0]};this._addToManager(t.scope);t.addClasses&&this._addClass("ui-droppable")},_addToManager:function(t){n.ui.ddmanager.droppables[t]=n.ui.ddmanager.droppables[t]||[];n.ui.ddmanager.droppables[t].push(this)},_splice:function(n){for(var t=0;t<n.length;t++)n[t]===this&&n.splice(t,1)},_destroy:function(){var t=n.ui.ddmanager.droppables[this.options.scope];this._splice(t)},_setOption:function(t,i){var r;"accept"===t?this.accept="function"==typeof i?i:function(n){return n.is(i)}:"scope"===t&&(r=n.ui.ddmanager.droppables[this.options.scope],this._splice(r),this._addToManager(i));this._super(t,i)},_activate:function(t){var i=n.ui.ddmanager.current;this._addActiveClass();i&&this._trigger("activate",t,this.ui(i))},_deactivate:function(t){var i=n.ui.ddmanager.current;this._removeActiveClass();i&&this._trigger("deactivate",t,this.ui(i))},_over:function(t){var i=n.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._addHoverClass(),this._trigger("over",t,this.ui(i)))},_out:function(t){var i=n.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._removeHoverClass(),this._trigger("out",t,this.ui(i)))},_drop:function(t,i){var r=i||n.ui.ddmanager.current,u=!1;return!(!r||(r.currentItem||r.element)[0]===this.element[0])&&(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var i=n(this).droppable("instance");if(i.options.greedy&&!i.options.disabled&&i.options.scope===r.options.scope&&i.accept.call(i.element[0],r.currentItem||r.element)&&n.ui.intersect(r,n.extend(i,{offset:i.element.offset()}),i.options.tolerance,t))return!(u=!0)}),!u&&!!this.accept.call(this.element[0],r.currentItem||r.element)&&(this._removeActiveClass(),this._removeHoverClass(),this._trigger("drop",t,this.ui(r)),this.element))},ui:function(n){return{draggable:n.currentItem||n.element,helper:n.helper,position:n.position,offset:n.positionAbs}},_addHoverClass:function(){this._addClass("ui-droppable-hover")},_removeHoverClass:function(){this._removeClass("ui-droppable-hover")},_addActiveClass:function(){this._addClass("ui-droppable-active")},_removeActiveClass:function(){this._removeClass("ui-droppable-active")}});n.ui.intersect=function(n,t,i,r){if(!t.offset)return!1;var e=(n.positionAbs||n.position.absolute).left+n.margins.left,o=(n.positionAbs||n.position.absolute).top+n.margins.top,s=e+n.helperProportions.width,h=o+n.helperProportions.height,u=t.offset.left,f=t.offset.top,c=u+t.proportions().width,l=f+t.proportions().height;switch(i){case"fit":return u<=e&&s<=c&&f<=o&&h<=l;case"intersect":return u<e+n.helperProportions.width/2&&s-n.helperProportions.width/2<c&&f<o+n.helperProportions.height/2&&h-n.helperProportions.height/2<l;case"pointer":return bi(r.pageY,f,t.proportions().height)&&bi(r.pageX,u,t.proportions().width);case"touch":return(f<=o&&o<=l||f<=h&&h<=l||o<f&&l<h)&&(u<=e&&e<=c||u<=s&&s<=c||e<u&&c<s);default:return!1}};!(n.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,i){var r,f,u=n.ui.ddmanager.droppables[t.options.scope]||[],o=i?i.type:null,e=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();n:for(r=0;r<u.length;r++)if(!(u[r].options.disabled||t&&!u[r].accept.call(u[r].element[0],t.currentItem||t.element))){for(f=0;f<e.length;f++)if(e[f]===u[r].element[0]){u[r].proportions().height=0;continue n}u[r].visible="none"!==u[r].element.css("display");u[r].visible&&("mousedown"===o&&u[r]._activate.call(u[r],i),u[r].offset=u[r].element.offset(),u[r].proportions({width:u[r].element[0].offsetWidth,height:u[r].element[0].offsetHeight}))}},drop:function(t,i){var r=!1;return n.each((n.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&n.ui.intersect(t,this,this.options.tolerance,i)&&(r=this._drop.call(this,i)||r),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),r},dragStart:function(t,i){t.element.parentsUntil("body").on("scroll.droppable",function(){t.options.refreshPositions||n.ui.ddmanager.prepareOffsets(t,i)})},drag:function(t,i){t.options.refreshPositions&&n.ui.ddmanager.prepareOffsets(t,i);n.each(n.ui.ddmanager.droppables[t.options.scope]||[],function(){var r,e,f,u;this.options.disabled||this.greedyChild||!this.visible||(u=!(f=n.ui.intersect(t,this,this.options.tolerance,i))&&this.isover?"isout":f&&!this.isover?"isover":null)&&(this.options.greedy&&(e=this.options.scope,(f=this.element.parents(":data(ui-droppable)").filter(function(){return n(this).droppable("instance").options.scope===e})).length&&((r=n(f[0]).droppable("instance")).greedyChild="isover"===u)),r&&"isover"===u&&(r.isover=!1,r.isout=!0,r._out.call(r,i)),this[u]=!0,this["isout"===u?"isover":"isout"]=!1,this["isover"===u?"_over":"_out"].call(this,i),r&&"isout"===u&&(r.isout=!1,r.isover=!0,r._over.call(r,i)))})},dragStop:function(t,i){t.element.parentsUntil("body").off("scroll.droppable");t.options.refreshPositions||n.ui.ddmanager.prepareOffsets(t,i)}})!==n.uiBackCompat&&n.widget("ui.droppable",n.ui.droppable,{options:{hoverClass:!1,activeClass:!1},_addActiveClass:function(){this._super();this.options.activeClass&&this.element.addClass(this.options.activeClass)},_removeActiveClass:function(){this._super();this.options.activeClass&&this.element.removeClass(this.options.activeClass)},_addHoverClass:function(){this._super();this.options.hoverClass&&this.element.addClass(this.options.hoverClass)},_removeHoverClass:function(){this._super();this.options.hoverClass&&this.element.removeClass(this.options.hoverClass)}});n.ui.droppable;n.widget("ui.progressbar",{version:"1.13.2",options:{classes:{"ui-progressbar":"ui-corner-all","ui-progressbar-value":"ui-corner-left","ui-progressbar-complete":"ui-corner-right"},max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue();this.element.attr({role:"progressbar","aria-valuemin":this.min});this._addClass("ui-progressbar","ui-widget ui-widget-content");this.valueDiv=n("<div>").appendTo(this.element);this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header");this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow");this.valueDiv.remove()},value:function(n){if(void 0===n)return this.options.value;this.options.value=this._constrainedValue(n);this._refreshValue()},_constrainedValue:function(n){return void 0===n&&(n=this.options.value),this.indeterminate=!1===n,"number"!=typeof n&&(n=0),!this.indeterminate&&Math.min(this.options.max,Math.max(this.min,n))},_setOptions:function(n){var t=n.value;delete n.value;this._super(n);this.options.value=this._constrainedValue(t);this._refreshValue()},_setOption:function(n,t){"max"===n&&(t=Math.max(this.min,t));this._super(n,t)},_setOptionDisabled:function(n){this._super(n);this.element.attr("aria-disabled",n);this._toggleClass(null,"ui-state-disabled",!!n)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var t=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||t>this.min).width(i.toFixed(0)+"%");this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,t===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate);this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=n("<div>").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":t}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null));this.oldValue!==t&&(this.oldValue=t,this._trigger("change"));t===this.options.max&&this._trigger("complete")}});n.widget("ui.selectable",n.ui.mouse,{version:"1.13.2",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var t=this;this._addClass("ui-selectable");this.dragged=!1;this.refresh=function(){t.elementPos=n(t.element[0]).offset();t.selectees=n(t.options.filter,t.element[0]);t._addClass(t.selectees,"ui-selectee");t.selectees.each(function(){var i=n(this),r=i.offset(),r={left:r.left-t.elementPos.left,top:r.top-t.elementPos.top};n.data(this,"selectable-item",{element:this,$element:i,left:r.left,top:r.top,right:r.left+i.outerWidth(),bottom:r.top+i.outerHeight(),startselected:!1,selected:i.hasClass("ui-selected"),selecting:i.hasClass("ui-selecting"),unselecting:i.hasClass("ui-unselecting")})})};this.refresh();this._mouseInit();this.helper=n("<div>");this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item");this._mouseDestroy()},_mouseStart:function(t){var i=this,r=this.options;this.opos=[t.pageX,t.pageY];this.elementPos=n(this.element[0]).offset();this.options.disabled||(this.selectees=n(r.filter,this.element[0]),this._trigger("start",t),n(r.appendTo).append(this.helper),this.helper.css({left:t.pageX,top:t.pageY,width:0,height:0}),r.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var r=n.data(this,"selectable-item");r.startselected=!0;t.metaKey||t.ctrlKey||(i._removeClass(r.$element,"ui-selected"),r.selected=!1,i._addClass(r.$element,"ui-unselecting"),r.unselecting=!0,i._trigger("unselecting",t,{unselecting:r.element}))}),n(t.target).parents().addBack().each(function(){var u,r=n.data(this,"selectable-item");if(r)return u=!t.metaKey&&!t.ctrlKey||!r.$element.hasClass("ui-selected"),i._removeClass(r.$element,u?"ui-unselecting":"ui-selected")._addClass(r.$element,u?"ui-selecting":"ui-unselecting"),r.unselecting=!u,r.selecting=u,(r.selected=u)?i._trigger("selecting",t,{selecting:r.element}):i._trigger("unselecting",t,{unselecting:r.element}),!1}))},_mouseDrag:function(t){if(this.dragged=!0,!this.options.disabled){var o,i=this,s=this.options,r=this.opos[0],u=this.opos[1],f=t.pageX,e=t.pageY;return f<r&&(o=f,f=r,r=o),e<u&&(o=e,e=u,u=o),this.helper.css({left:r,top:u,width:f-r,height:e-u}),this.selectees.each(function(){var o=n.data(this,"selectable-item"),c=!1,h={};o&&o.element!==i.element[0]&&(h.left=o.left+i.elementPos.left,h.right=o.right+i.elementPos.left,h.top=o.top+i.elementPos.top,h.bottom=o.bottom+i.elementPos.top,"touch"===s.tolerance?c=!(h.left>f||h.right<r||h.top>e||h.bottom<u):"fit"===s.tolerance&&(c=h.left>r&&h.right<f&&h.top>u&&h.bottom<e),c?(o.selected&&(i._removeClass(o.$element,"ui-selected"),o.selected=!1),o.unselecting&&(i._removeClass(o.$element,"ui-unselecting"),o.unselecting=!1),o.selecting||(i._addClass(o.$element,"ui-selecting"),o.selecting=!0,i._trigger("selecting",t,{selecting:o.element}))):(o.selecting&&((t.metaKey||t.ctrlKey)&&o.startselected?(i._removeClass(o.$element,"ui-selecting"),o.selecting=!1,i._addClass(o.$element,"ui-selected"),o.selected=!0):(i._removeClass(o.$element,"ui-selecting"),o.selecting=!1,o.startselected&&(i._addClass(o.$element,"ui-unselecting"),o.unselecting=!0),i._trigger("unselecting",t,{unselecting:o.element}))),o.selected&&(t.metaKey||t.ctrlKey||o.startselected||(i._removeClass(o.$element,"ui-selected"),o.selected=!1,i._addClass(o.$element,"ui-unselecting"),o.unselecting=!0,i._trigger("unselecting",t,{unselecting:o.element})))))}),!1}},_mouseStop:function(t){var i=this;return this.dragged=!1,n(".ui-unselecting",this.element[0]).each(function(){var r=n.data(this,"selectable-item");i._removeClass(r.$element,"ui-unselecting");r.unselecting=!1;r.startselected=!1;i._trigger("unselected",t,{unselected:r.element})}),n(".ui-selecting",this.element[0]).each(function(){var r=n.data(this,"selectable-item");i._removeClass(r.$element,"ui-selecting")._addClass(r.$element,"ui-selected");r.selecting=!1;r.selected=!0;r.startselected=!0;i._trigger("selected",t,{selected:r.element})}),this._trigger("stop",t),this.helper.remove(),!1}});n.widget("ui.selectmenu",[n.ui.formResetMixin,{version:"1.13.2",defaultElement:"<select>",options:{appendTo:null,classes:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"},disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:!1,change:null,close:null,focus:null,open:null,select:null},_create:function(){var t=this.element.uniqueId().attr("id");this.ids={element:t,button:t+"-button",menu:t+"-menu"};this._drawButton();this._drawMenu();this._bindFormResetHandler();this._rendered=!1;this.menuItems=n()},_drawButton:function(){var t,i=this,r=this._parseOption(this.element.find("option:selected"),this.element[0].selectedIndex);this.labels=this.element.labels().attr("for",this.ids.button);this._on(this.labels,{click:function(n){this.button.trigger("focus");n.preventDefault()}});this.element.hide();this.button=n("<span>",{tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true",title:this.element.attr("title")}).insertAfter(this.element);this._addClass(this.button,"ui-selectmenu-button ui-selectmenu-button-closed","ui-button ui-widget");t=n("<span>").appendTo(this.button);this._addClass(t,"ui-selectmenu-icon","ui-icon "+this.options.icons.button);this.buttonItem=this._renderButtonItem(r).appendTo(this.button);!1!==this.options.width&&this._resizeButton();this._on(this.button,this._buttonEvents);this.button.one("focusin",function(){i._rendered||i._refreshMenu()})},_drawMenu:function(){var t=this;this.menu=n("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu});this.menuWrap=n("<div>").append(this.menu);this._addClass(this.menuWrap,"ui-selectmenu-menu","ui-front");this.menuWrap.appendTo(this._appendTo());this.menuInstance=this.menu.menu({classes:{"ui-menu":"ui-corner-bottom"},role:"listbox",select:function(n,i){n.preventDefault();t._setSelection();t._select(i.item.data("ui-selectmenu-item"),n)},focus:function(n,i){i=i.item.data("ui-selectmenu-item");null!=t.focusIndex&&i.index!==t.focusIndex&&(t._trigger("focus",n,{item:i}),t.isOpen||t._select(i,n));t.focusIndex=i.index;t.button.attr("aria-activedescendant",t.menuItems.eq(i.index).attr("id"))}}).menu("instance");this.menuInstance._off(this.menu,"mouseleave");this.menuInstance._closeOnDocumentClick=function(){return!1};this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu();this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(this._getSelectedItem().data("ui-selectmenu-item")||{}));null===this.options.width&&this._resizeButton()},_refreshMenu:function(){var n=this.element.find("option");this.menu.empty();this._parseOptions(n);this._renderMenu(this.menu,this.items);this.menuInstance.refresh();this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup").find(".ui-menu-item-wrapper");this._rendered=!0;n.length&&(n=this._getSelectedItem(),this.menuInstance.focus(null,n),this._setAria(n.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(n){this.options.disabled||(this._rendered?(this._removeClass(this.menu.find(".ui-state-active"),null,"ui-state-active"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.menuItems.length&&(this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",n)))},_position:function(){this.menuWrap.position(n.extend({of:this.button},this.options.position))},close:function(n){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",n))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderButtonItem:function(t){var i=n("<span>");return this._setText(i,t.label),this._addClass(i,"ui-selectmenu-text"),i},_renderMenu:function(t,i){var r=this,u="";n.each(i,function(i,f){var e;f.optgroup!==u&&(e=n("<li>",{text:f.optgroup}),r._addClass(e,"ui-selectmenu-optgroup","ui-menu-divider"+(f.element.parent("optgroup").prop("disabled")?" ui-state-disabled":"")),e.appendTo(t),u=f.optgroup);r._renderItemData(t,f)})},_renderItemData:function(n,t){return this._renderItem(n,t).data("ui-selectmenu-item",t)},_renderItem:function(t,i){var r=n("<li>"),u=n("<div>",{title:i.element.attr("title")});return i.disabled&&this._addClass(r,null,"ui-state-disabled"),this._setText(u,i.label),r.append(u).appendTo(t)},_setText:function(n,t){t?n.text(t):n.html("&#160;")},_move:function(n,t){var r,i=".ui-menu-item";this.isOpen?r=this.menuItems.eq(this.focusIndex).parent("li"):(r=this.menuItems.eq(this.element[0].selectedIndex).parent("li"),i+=":not(.ui-state-disabled)");(i="first"===n||"last"===n?r["first"===n?"prevAll":"nextAll"](i).eq(-1):r[n+"All"](i).eq(0)).length&&this.menuInstance.focus(t,i)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex).parent("li")},_toggle:function(n){this[this.isOpen?"close":"open"](n)},_setSelection:function(){var n;this.range&&(window.getSelection?((n=window.getSelection()).removeAllRanges(),n.addRange(this.range)):this.range.select(),this.button.trigger("focus"))},_documentClick:{mousedown:function(t){this.isOpen&&(n(t.target).closest(".ui-selectmenu-menu, #"+n.escapeSelector(this.ids.button)).length||this.close(t))}},_buttonEvents:{mousedown:function(){var n;window.getSelection?(n=window.getSelection()).rangeCount&&(this.range=n.getRangeAt(0)):this.range=document.selection.createRange()},click:function(n){this._setSelection();this._toggle(n)},keydown:function(t){var i=!0;switch(t.keyCode){case n.ui.keyCode.TAB:case n.ui.keyCode.ESCAPE:this.close(t);i=!1;break;case n.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(t);break;case n.ui.keyCode.UP:t.altKey?this._toggle(t):this._move("prev",t);break;case n.ui.keyCode.DOWN:t.altKey?this._toggle(t):this._move("next",t);break;case n.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(t):this._toggle(t);break;case n.ui.keyCode.LEFT:this._move("prev",t);break;case n.ui.keyCode.RIGHT:this._move("next",t);break;case n.ui.keyCode.HOME:case n.ui.keyCode.PAGE_UP:this._move("first",t);break;case n.ui.keyCode.END:case n.ui.keyCode.PAGE_DOWN:this._move("last",t);break;default:this.menu.trigger(t);i=!1}i&&t.preventDefault()}},_selectFocusedItem:function(n){var t=this.menuItems.eq(this.focusIndex).parent("li");t.hasClass("ui-state-disabled")||this._select(t.data("ui-selectmenu-item"),n)},_select:function(n,t){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=n.index;this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(n));this._setAria(n);this._trigger("select",t,{item:n});n.index!==i&&this._trigger("change",t,{item:n});this.close(t)},_setAria:function(n){n=this.menuItems.eq(n.index).attr("id");this.button.attr({"aria-labelledby":n,"aria-activedescendant":n});this.menu.attr("aria-activedescendant",n)},_setOption:function(n,t){var i;"icons"===n&&(i=this.button.find("span.ui-icon"),this._removeClass(i,null,this.options.icons.button)._addClass(i,null,t.button));this._super(n,t);"appendTo"===n&&this.menuWrap.appendTo(this._appendTo());"width"===n&&this._resizeButton()},_setOptionDisabled:function(n){this._super(n);this.menuInstance.option("disabled",n);this.button.attr("aria-disabled",n);this._toggleClass(this.button,null,"ui-state-disabled",n);this.element.prop("disabled",n);n?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)},_appendTo:function(){var t=this.options.appendTo;return(t=!(t=t&&(t.jquery||t.nodeType?n(t):this.document.find(t).eq(0)))||!t[0]?this.element.closest(".ui-front, dialog"):t).length?t:this.document[0].body},_toggleAttr:function(){this.button.attr("aria-expanded",this.isOpen);this._removeClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"closed":"open"))._addClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"open":"closed"))._toggleClass(this.menuWrap,"ui-selectmenu-open",null,this.isOpen);this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var n=this.options.width;!1!==n?(null===n&&(n=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(n)):this.button.css("width","")},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){var n=this._super();return n.disabled=this.element.prop("disabled"),n},_parseOptions:function(t){var r=this,i=[];t.each(function(t,u){u.hidden||i.push(r._parseOption(n(u),t))});this.items=i},_parseOption:function(n,t){var i=n.parent("optgroup");return{element:n,index:t,value:n.val(),label:n.text(),optgroup:i.attr("label")||"",disabled:i.prop("disabled")||n.prop("disabled")}},_destroy:function(){this._unbindFormResetHandler();this.menuWrap.remove();this.button.remove();this.element.show();this.element.removeUniqueId();this.labels.attr("for",this.ids.element)}}]);n.widget("ui.slider",n.ui.mouse,{version:"1.13.2",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1;this._mouseSliding=!1;this._animateOff=!0;this._handleIndex=null;this._detectOrientation();this._mouseInit();this._calculateNewMax();this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content");this._refresh();this._animateOff=!1},_refresh:function(){this._createRange();this._createHandles();this._setupEvents();this._refreshValue()},_createHandles:function(){var r,u=this.options,t=this.element.find(".ui-slider-handle"),f=[],i=u.values&&u.values.length||1;for(t.length>i&&(t.slice(i).remove(),t=t.slice(0,i)),r=t.length;r<i;r++)f.push("<span tabindex='0'><\/span>");this.handles=t.add(n(f.join("")).appendTo(this.element));this._addClass(this.handles,"ui-slider-handle","ui-state-default");this.handle=this.handles.eq(0);this.handles.each(function(t){n(this).data("ui-slider-handle-index",t).attr("tabIndex",0)})},_createRange:function(){var t=this.options;t.range?(!0===t.range&&(t.values?t.values.length&&2!==t.values.length?t.values=[t.values[0],t.values[0]]:Array.isArray(t.values)&&(t.values=t.values.slice(0)):t.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=n("<div>").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),"min"!==t.range&&"max"!==t.range||this._addClass(this.range,"ui-slider-range-"+t.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles);this._on(this.handles,this._handleEvents);this._hoverable(this.handles);this._focusable(this.handles)},_destroy:function(){this.handles.remove();this.range&&this.range.remove();this._mouseDestroy()},_mouseCapture:function(t){var e,r,i,u,o,f,s=this,h=this.options;return!h.disabled&&(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),f={x:t.pageX,y:t.pageY},e=this._normValueFromMouse(f),r=this._valueMax()-this._valueMin()+1,this.handles.each(function(t){var f=Math.abs(e-s.values(t));(f<r||r===f&&(t===s._lastChangedValue||s.values(t)===h.min))&&(r=f,i=n(this),u=t)}),!1!==this._start(t,u)&&(this._mouseSliding=!0,this._handleIndex=u,this._addClass(i,null,"ui-state-active"),i.trigger("focus"),o=i.offset(),f=!n(t.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=f?{left:0,top:0}:{left:t.pageX-o.left-i.width()/2,top:t.pageY-o.top-i.height()/2-(parseInt(i.css("borderTopWidth"),10)||0)-(parseInt(i.css("borderBottomWidth"),10)||0)+(parseInt(i.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(t,u,e),this._animateOff=!0))},_mouseStart:function(){return!0},_mouseDrag:function(n){var t={x:n.pageX,y:n.pageY},t=this._normValueFromMouse(t);return this._slide(n,this._handleIndex,t),!1},_mouseStop:function(n){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(n,this._handleIndex),this._change(n,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(n){var t,n="horizontal"===this.orientation?(t=this.elementSize.width,n.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(t=this.elementSize.height,n.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),n=n/t;return(n=1<n?1:n)<0&&(n=0),"vertical"===this.orientation&&(n=1-n),t=this._valueMax()-this._valueMin(),t=this._valueMin()+n*t,this._trimAlignValue(t)},_uiHash:function(n,t,i){var r={handle:this.handles[n],handleIndex:n,value:void 0!==t?t:this.value()};return this._hasMultipleValues()&&(r.value=void 0!==t?t:this.values(n),r.values=i||this.values()),r},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(n,t){return this._trigger("start",n,this._uiHash(t))},_slide:function(n,t,i){var r,u=this.value(),f=this.values();this._hasMultipleValues()&&(r=this.values(t?0:1),u=this.values(t),2===this.options.values.length&&!0===this.options.range&&(i=0===t?Math.min(r,i):Math.max(r,i)),f[t]=i);i!==u&&!1!==this._trigger("slide",n,this._uiHash(t,i,f))&&(this._hasMultipleValues()?this.values(t,i):this.value(i))},_stop:function(n,t){this._trigger("stop",n,this._uiHash(t))},_change:function(n,t){this._keySliding||this._mouseSliding||(this._lastChangedValue=t,this._trigger("change",n,this._uiHash(t)))},value:function(n){return arguments.length?(this.options.value=this._trimAlignValue(n),this._refreshValue(),void this._change(null,0)):this._value()},values:function(n,t){var r,u,i;if(1<arguments.length)return this.options.values[n]=this._trimAlignValue(t),this._refreshValue(),void this._change(null,n);if(!arguments.length)return this._values();if(!Array.isArray(n))return this._hasMultipleValues()?this._values(n):this.value();for(r=this.options.values,u=n,i=0;i<r.length;i+=1)r[i]=this._trimAlignValue(u[i]),this._change(null,i);this._refreshValue()},_setOption:function(n,t){var i,r=0;switch("range"===n&&!0===this.options.range&&("min"===t?(this.options.value=this._values(0),this.options.values=null):"max"===t&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),Array.isArray(this.options.values)&&(r=this.options.values.length),this._super(n,t),n){case"orientation":this._detectOrientation();this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-"+this.orientation);this._refreshValue();this.options.range&&this._refreshRange(t);this.handles.css("horizontal"===t?"bottom":"left","");break;case"value":this._animateOff=!0;this._refreshValue();this._change(null,0);this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),i=r-1;0<=i;i--)this._change(null,i);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0;this._calculateNewMax();this._refreshValue();this._animateOff=!1;break;case"range":this._animateOff=!0;this._refresh();this._animateOff=!1}},_setOptionDisabled:function(n){this._super(n);this._toggleClass(null,"ui-state-disabled",!!n)},_value:function(){var n=this.options.value;return this._trimAlignValue(n)},_values:function(n){var t,i;if(arguments.length)return n=this.options.values[n],n=this._trimAlignValue(n);if(this._hasMultipleValues()){for(t=this.options.values.slice(),i=0;i<t.length;i+=1)t[i]=this._trimAlignValue(t[i]);return t}return[]},_trimAlignValue:function(n){if(n<=this._valueMin())return this._valueMin();if(n>=this._valueMax())return this._valueMax();var t=0<this.options.step?this.options.step:1,i=(n-this._valueMin())%t,n=n-i;return 2*Math.abs(i)>=t&&(n+=0<i?t:-t),parseFloat(n.toFixed(5))},_calculateNewMax:function(){var n=this.options.max,i=this._valueMin(),t=this.options.step;(n=Math.round((n-i)/t)*t+i)>this.options.max&&(n-=t);this.max=parseFloat(n.toFixed(this._precision()))},_precision:function(){var n=this._precisionOf(this.options.step);return null!==this.options.min?Math.max(n,this._precisionOf(this.options.min)):n},_precisionOf:function(n){var t=n.toString(),n=t.indexOf(".");return-1===n?0:t.length-n-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(n){"vertical"===n&&this.range.css({width:"",left:""});"horizontal"===n&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var s,t,c,f,h,e=this.options.range,i=this.options,r=this,u=!this._animateOff&&i.animate,o={};this._hasMultipleValues()?this.handles.each(function(f){t=(r.values(f)-r._valueMin())/(r._valueMax()-r._valueMin())*100;o["horizontal"===r.orientation?"left":"bottom"]=t+"%";n(this).stop(1,1)[u?"animate":"css"](o,i.animate);!0===r.options.range&&("horizontal"===r.orientation?(0===f&&r.range.stop(1,1)[u?"animate":"css"]({left:t+"%"},i.animate),1===f&&r.range[u?"animate":"css"]({width:t-s+"%"},{queue:!1,duration:i.animate})):(0===f&&r.range.stop(1,1)[u?"animate":"css"]({bottom:t+"%"},i.animate),1===f&&r.range[u?"animate":"css"]({height:t-s+"%"},{queue:!1,duration:i.animate})));s=t}):(c=this.value(),f=this._valueMin(),h=this._valueMax(),t=h!==f?(c-f)/(h-f)*100:0,o["horizontal"===this.orientation?"left":"bottom"]=t+"%",this.handle.stop(1,1)[u?"animate":"css"](o,i.animate),"min"===e&&"horizontal"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({width:t+"%"},i.animate),"max"===e&&"horizontal"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({width:100-t+"%"},i.animate),"min"===e&&"vertical"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({height:t+"%"},i.animate),"max"===e&&"vertical"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({height:100-t+"%"},i.animate))},_handleEvents:{keydown:function(t){var r,i,u,f=n(t.target).data("ui-slider-handle-index");switch(t.keyCode){case n.ui.keyCode.HOME:case n.ui.keyCode.END:case n.ui.keyCode.PAGE_UP:case n.ui.keyCode.PAGE_DOWN:case n.ui.keyCode.UP:case n.ui.keyCode.RIGHT:case n.ui.keyCode.DOWN:case n.ui.keyCode.LEFT:if(t.preventDefault(),!this._keySliding&&(this._keySliding=!0,this._addClass(n(t.target),null,"ui-state-active"),!1===this._start(t,f)))return}switch(u=this.options.step,r=i=this._hasMultipleValues()?this.values(f):this.value(),t.keyCode){case n.ui.keyCode.HOME:i=this._valueMin();break;case n.ui.keyCode.END:i=this._valueMax();break;case n.ui.keyCode.PAGE_UP:i=this._trimAlignValue(r+(this._valueMax()-this._valueMin())/this.numPages);break;case n.ui.keyCode.PAGE_DOWN:i=this._trimAlignValue(r-(this._valueMax()-this._valueMin())/this.numPages);break;case n.ui.keyCode.UP:case n.ui.keyCode.RIGHT:if(r===this._valueMax())return;i=this._trimAlignValue(r+u);break;case n.ui.keyCode.DOWN:case n.ui.keyCode.LEFT:if(r===this._valueMin())return;i=this._trimAlignValue(r-u)}this._slide(t,f,i)},keyup:function(t){var i=n(t.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(t,i),this._change(t,i),this._removeClass(n(t.target),null,"ui-state-active"))}}});n.widget("ui.sortable",n.ui.mouse,{version:"1.13.2",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(n,t,i){return t<=n&&n<t+i},_isFloating:function(n){return/left|right/.test(n.css("float"))||/inline|table-cell/.test(n.css("display"))},_create:function(){this.containerCache={};this._addClass("ui-sortable");this.refresh();this.offset=this.element.offset();this._mouseInit();this._setHandleClassName();this.ready=!0},_setOption:function(n,t){this._super(n,t);"handle"===n&&this._setHandleClassName()},_setHandleClassName:function(){var t=this;this._removeClass(this.element.find(".ui-sortable-handle"),"ui-sortable-handle");n.each(this.items,function(){t._addClass(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item,"ui-sortable-handle")})},_destroy:function(){this._mouseDestroy();for(var n=this.items.length-1;0<=n;n--)this.items[n].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(t,i){var r=null,f=!1,u=this;return!this.reverting&&!this.options.disabled&&"static"!==this.options.type&&(this._refreshItems(t),n(t.target).parents().each(function(){if(n.data(this,u.widgetName+"-item")===u)return r=n(this),!1}),!!(r=n.data(t.target,u.widgetName+"-item")===u?n(t.target):r)&&!(this.options.handle&&!i&&(n(this.options.handle,r).find("*").addBack().each(function(){this===t.target&&(f=!0)}),!f))&&(this.currentItem=r,this._removeCurrentsFromItems(),!0))},_mouseStart:function(t,i,r){var f,e,u=this.options;if((this.currentContainer=this).refreshPositions(),this.appendTo=n("parent"!==u.appendTo?u.appendTo:this.currentItem.parent()),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},n.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),u.cursorAt&&this._adjustOffsetFromHelper(u.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),this.scrollParent=this.placeholder.scrollParent(),n.extend(this.offset,{parent:this._getParentOffset()}),u.containment&&this._setContainment(),u.cursor&&"auto"!==u.cursor&&(e=this.document.find("body"),this.storedCursor=e.css("cursor"),e.css("cursor",u.cursor),this.storedStylesheet=n("<style>*{ cursor: "+u.cursor+" !important; }<\/style>").appendTo(e)),u.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",u.zIndex)),u.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",u.opacity)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!r)for(f=this.containers.length-1;0<=f;f--)this.containers[f]._trigger("activate",t,this._uiHash(this));return n.ui.ddmanager&&(n.ui.ddmanager.current=this),n.ui.ddmanager&&!u.dropBehaviour&&n.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this.helper.parent().is(this.appendTo)||(this.helper.detach().appendTo(this.appendTo),this.offset.parent=this._getParentOffset()),this.position=this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,this.lastPositionAbs=this.positionAbs=this._convertPositionTo("absolute"),this._mouseDrag(t),!0},_scroll:function(n){var t=this.options,i=!1;return this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-n.pageY<t.scrollSensitivity?this.scrollParent[0].scrollTop=i=this.scrollParent[0].scrollTop+t.scrollSpeed:n.pageY-this.overflowOffset.top<t.scrollSensitivity&&(this.scrollParent[0].scrollTop=i=this.scrollParent[0].scrollTop-t.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-n.pageX<t.scrollSensitivity?this.scrollParent[0].scrollLeft=i=this.scrollParent[0].scrollLeft+t.scrollSpeed:n.pageX-this.overflowOffset.left<t.scrollSensitivity&&(this.scrollParent[0].scrollLeft=i=this.scrollParent[0].scrollLeft-t.scrollSpeed)):(n.pageY-this.document.scrollTop()<t.scrollSensitivity?i=this.document.scrollTop(this.document.scrollTop()-t.scrollSpeed):this.window.height()-(n.pageY-this.document.scrollTop())<t.scrollSensitivity&&(i=this.document.scrollTop(this.document.scrollTop()+t.scrollSpeed)),n.pageX-this.document.scrollLeft()<t.scrollSensitivity?i=this.document.scrollLeft(this.document.scrollLeft()-t.scrollSpeed):this.window.width()-(n.pageX-this.document.scrollLeft())<t.scrollSensitivity&&(i=this.document.scrollLeft(this.document.scrollLeft()+t.scrollSpeed))),i},_mouseDrag:function(t){var u,i,r,f,e=this.options;for(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),e.scroll&&!1!==this._scroll(t)&&(this._refreshItemPositions(!0),n.ui.ddmanager&&!e.dropBehaviour&&n.ui.ddmanager.prepareOffsets(this,t)),this.dragDirection={vertical:this._getDragVerticalDirection(),horizontal:this._getDragHorizontalDirection()},u=this.items.length-1;0<=u;u--)if(r=(i=this.items[u]).item[0],(f=this._intersectsWithPointer(i))&&i.instance===this.currentContainer&&!(r===this.currentItem[0]||this.placeholder[1===f?"next":"prev"]()[0]===r||n.contains(this.placeholder[0],r)||"semi-dynamic"===this.options.type&&n.contains(this.element[0],r))){if(this.direction=1===f?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(i))break;this._rearrange(t,i);this._trigger("change",t,this._uiHash());break}return this._contactContainers(t),n.ui.ddmanager&&n.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,i){var e,f,r,u;if(t)return n.ui.ddmanager&&!this.options.dropBehaviour&&n.ui.ddmanager.drop(this,t),this.options.revert?(f=(e=this).placeholder.offset(),u={},(r=this.options.axis)&&"x"!==r||(u.left=f.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),r&&"y"!==r||(u.top=f.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,n(this.helper).animate(u,parseInt(this.options.revert,10)||500,function(){e._clear(t)})):this._clear(t,i),!1},cancel:function(){if(this.dragging){this._mouseUp(new n.Event("mouseup",{target:null}));"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var t=this.containers.length-1;0<=t;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),n.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?n(this.domPosition.prev).after(this.currentItem):n(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(t){var r=this._getItemsAsjQuery(t&&t.connected),i=[];return t=t||{},n(r).each(function(){var r=(n(t.item||this).attr(t.attribute||"id")||"").match(t.expression||/(.+)[\-=_](.+)/);r&&i.push((t.key||r[1]+"[]")+"="+(t.key&&t.expression?r[1]:r[2]))}),!i.length&&t.key&&i.push(t.key+"="),i.join("&")},toArray:function(t){var r=this._getItemsAsjQuery(t&&t.connected),i=[];return t=t||{},r.each(function(){i.push(n(t.item||this).attr(t.attribute||"id")||"")}),i},_intersectsWith:function(n){var t=this.positionAbs.left,h=t+this.helperProportions.width,i=this.positionAbs.top,c=i+this.helperProportions.height,f=n.left,o=f+n.width,e=n.top,s=e+n.height,r=this.offset.click.top,u=this.offset.click.left,r="x"===this.options.axis||e<i+r&&i+r<s,u="y"===this.options.axis||f<t+u&&t+u<o;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>n[this.floating?"width":"height"]?r&&u:f<t+this.helperProportions.width/2&&h-this.helperProportions.width/2<o&&e<i+this.helperProportions.height/2&&c-this.helperProportions.height/2<s},_intersectsWithPointer:function(n){var t="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,n.top,n.height),n="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,n.left,n.width);return!(!t||!n)&&(t=this.dragDirection.vertical,n=this.dragDirection.horizontal,this.floating?"right"===n||"down"===t?2:1:t&&("down"===t?2:1))},_intersectsWithSides:function(n){var i=this._isOverAxis(this.positionAbs.top+this.offset.click.top,n.top+n.height/2,n.height),r=this._isOverAxis(this.positionAbs.left+this.offset.click.left,n.left+n.width/2,n.width),t=this.dragDirection.vertical,n=this.dragDirection.horizontal;return this.floating&&n?"right"===n&&r||"left"===n&&!r:t&&("down"===t&&i||"up"===t&&!i)},_getDragVerticalDirection:function(){var n=this.positionAbs.top-this.lastPositionAbs.top;return 0!=n&&(0<n?"down":"up")},_getDragHorizontalDirection:function(){var n=this.positionAbs.left-this.lastPositionAbs.left;return 0!=n&&(0<n?"right":"left")},refresh:function(n){return this._refreshItems(n),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var n=this.options;return n.connectWith.constructor===String?[n.connectWith]:n.connectWith},_getItemsAsjQuery:function(t){function h(){s.push(this)}var r,u,o,i,s=[],f=[],e=this._connectWith();if(e&&t)for(r=e.length-1;0<=r;r--)for(u=(o=n(e[r],this.document[0])).length-1;0<=u;u--)(i=n.data(o[u],this.widgetFullName))&&i!==this&&!i.options.disabled&&f.push(["function"==typeof i.options.items?i.options.items.call(i.element):n(i.options.items,i.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),i]);for(f.push(["function"==typeof this.options.items?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):n(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),r=f.length-1;0<=r;r--)f[r][0].each(h);return n(s)},_removeCurrentsFromItems:function(){var t=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=n.grep(this.items,function(n){for(var i=0;i<t.length;i++)if(t[i]===n.item[0])return!1;return!0})},_refreshItems:function(t){this.items=[];this.containers=[this];var r,u,s,i,e,h,c,l,a=this.items,f=[["function"==typeof this.options.items?this.options.items.call(this.element[0],t,{item:this.currentItem}):n(this.options.items,this.element),this]],o=this._connectWith();if(o&&this.ready)for(r=o.length-1;0<=r;r--)for(u=(s=n(o[r],this.document[0])).length-1;0<=u;u--)(i=n.data(s[u],this.widgetFullName))&&i!==this&&!i.options.disabled&&(f.push(["function"==typeof i.options.items?i.options.items.call(i.element[0],t,{item:this.currentItem}):n(i.options.items,i.element),i]),this.containers.push(i));for(r=f.length-1;0<=r;r--)for(e=f[r][1],l=(h=f[r][u=0]).length;u<l;u++)(c=n(h[u])).data(this.widgetName+"-item",e),a.push({item:c,instance:e,width:0,height:0,left:0,top:0})},_refreshItemPositions:function(t){for(var i,r,u=this.items.length-1;0<=u;u--)i=this.items[u],this.currentContainer&&i.instance!==this.currentContainer&&i.item[0]!==this.currentItem[0]||(r=this.options.toleranceElement?n(this.options.toleranceElement,i.item):i.item,t||(i.width=r.outerWidth(),i.height=r.outerHeight()),r=r.offset(),i.left=r.left,i.top=r.top)},refreshPositions:function(n){var t,i;if(this.floating=!!this.items.length&&("x"===this.options.axis||this._isFloating(this.items[0].item)),this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset()),this._refreshItemPositions(n),this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(t=this.containers.length-1;0<=t;t--)i=this.containers[t].element.offset(),this.containers[t].containerCache.left=i.left,this.containers[t].containerCache.top=i.top,this.containers[t].containerCache.width=this.containers[t].element.outerWidth(),this.containers[t].containerCache.height=this.containers[t].element.outerHeight();return this},_createPlaceholder:function(t){var u,r,i=(t=t||this).options;i.placeholder&&i.placeholder.constructor!==String||(u=i.placeholder,r=t.currentItem[0].nodeName.toLowerCase(),i.placeholder={element:function(){var i=n("<"+r+">",t.document[0]);return t._addClass(i,"ui-sortable-placeholder",u||t.currentItem[0].className)._removeClass(i,"ui-sortable-helper"),"tbody"===r?t._createTrPlaceholder(t.currentItem.find("tr").eq(0),n("<tr>",t.document[0]).appendTo(i)):"tr"===r?t._createTrPlaceholder(t.currentItem,i):"img"===r&&i.attr("src",t.currentItem.attr("src")),u||i.css("visibility","hidden"),i},update:function(n,f){u&&!i.forcePlaceholderSize||(f.height()&&(!i.forcePlaceholderSize||"tbody"!==r&&"tr"!==r)||f.height(t.currentItem.innerHeight()-parseInt(t.currentItem.css("paddingTop")||0,10)-parseInt(t.currentItem.css("paddingBottom")||0,10)),f.width()||f.width(t.currentItem.innerWidth()-parseInt(t.currentItem.css("paddingLeft")||0,10)-parseInt(t.currentItem.css("paddingRight")||0,10)))}});t.placeholder=n(i.placeholder.element.call(t.element,t.currentItem));t.currentItem.after(t.placeholder);i.placeholder.update(t,t.placeholder)},_createTrPlaceholder:function(t,i){var r=this;t.children().each(function(){n("<td>&#160;<\/td>",r.document[0]).attr("colspan",n(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(t){for(var u,h,f,a,v,o,c,l,s,e=null,i=null,r=this.containers.length-1;0<=r;r--)n.contains(this.currentItem[0],this.containers[r].element[0])||(this._intersectsWith(this.containers[r].containerCache)?e&&n.contains(this.containers[r].element[0],e.element[0])||(e=this.containers[r],i=r):this.containers[r].containerCache.over&&(this.containers[r]._trigger("out",t,this._uiHash(this)),this.containers[r].containerCache.over=0));if(e)if(1===this.containers.length)this.containers[i].containerCache.over||(this.containers[i]._trigger("over",t,this._uiHash(this)),this.containers[i].containerCache.over=1);else{for(h=1e4,f=null,a=(l=e.floating||this._isFloating(this.currentItem))?"left":"top",v=l?"width":"height",s=l?"pageX":"pageY",u=this.items.length-1;0<=u;u--)n.contains(this.containers[i].element[0],this.items[u].item[0])&&this.items[u].item[0]!==this.currentItem[0]&&(o=this.items[u].item.offset()[a],c=!1,t[s]-o>this.items[u][v]/2&&(c=!0),Math.abs(t[s]-o)<h&&(h=Math.abs(t[s]-o),f=this.items[u],this.direction=c?"up":"down"));(f||this.options.dropOnEmpty)&&(this.currentContainer!==this.containers[i]?(f?this._rearrange(t,f,null,!0):this._rearrange(t,null,this.containers[i].element,!0),this._trigger("change",t,this._uiHash()),this.containers[i]._trigger("change",t,this._uiHash(this)),this.currentContainer=this.containers[i],this.options.placeholder.update(this.currentContainer,this.placeholder),this.scrollParent=this.placeholder.scrollParent(),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this.containers[i]._trigger("over",t,this._uiHash(this)),this.containers[i].containerCache.over=1):this.currentContainer.containerCache.over||(this.containers[i]._trigger("over",t,this._uiHash()),this.currentContainer.containerCache.over=1))}},_createHelper:function(t){var i=this.options,t="function"==typeof i.helper?n(i.helper.apply(this.element[0],[t,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return t.parents("body").length||this.appendTo[0].appendChild(t[0]),t[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),t[0].style.width&&!i.forceHelperSize||t.width(this.currentItem.width()),t[0].style.height&&!i.forceHelperSize||t.height(this.currentItem.height()),t},_adjustOffsetFromHelper:function(n){"string"==typeof n&&(n=n.split(" "));"left"in(n=Array.isArray(n)?{left:+n[0],top:+n[1]||0}:n)&&(this.offset.click.left=n.left+this.margins.left);"right"in n&&(this.offset.click.left=this.helperProportions.width-n.right+this.margins.left);"top"in n&&(this.offset.click.top=n.top+this.margins.top);"bottom"in n&&(this.offset.click.top=this.helperProportions.height-n.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&n.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),{top:(t=this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&n.ui.ie?{top:0,left:0}:t).top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var n=this.currentItem.position();return{top:n.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:n.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,r,i=this.options;"parent"===i.containment&&(i.containment=this.helper[0].parentNode);"document"!==i.containment&&"window"!==i.containment||(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===i.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===i.containment?this.document.height()||document.body.parentNode.scrollHeight:this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]);/^(document|window|parent)$/.test(i.containment)||(t=n(i.containment)[0],r=n(i.containment).offset(),i="hidden"!==n(t).css("overflow"),this.containment=[r.left+(parseInt(n(t).css("borderLeftWidth"),10)||0)+(parseInt(n(t).css("paddingLeft"),10)||0)-this.margins.left,r.top+(parseInt(n(t).css("borderTopWidth"),10)||0)+(parseInt(n(t).css("paddingTop"),10)||0)-this.margins.top,r.left+(i?Math.max(t.scrollWidth,t.offsetWidth):t.offsetWidth)-(parseInt(n(t).css("borderLeftWidth"),10)||0)-(parseInt(n(t).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,r.top+(i?Math.max(t.scrollHeight,t.offsetHeight):t.offsetHeight)-(parseInt(n(t).css("borderTopWidth"),10)||0)-(parseInt(n(t).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(t,i){i=i||this.position;var r="absolute"===t?1:-1,u="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&n.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,t=/(html|body)/i.test(u[0].tagName);return{top:i.top+this.offset.relative.top*r+this.offset.parent.top*r-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():t?0:u.scrollTop())*r,left:i.left+this.offset.relative.left*r+this.offset.parent.left*r-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():t?0:u.scrollLeft())*r}},_generatePosition:function(t){var i=this.options,r=t.pageX,u=t.pageY,f="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&n.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,e=/(html|body)/i.test(f[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(t.pageX-this.offset.click.left<this.containment[0]&&(r=this.containment[0]+this.offset.click.left),t.pageY-this.offset.click.top<this.containment[1]&&(u=this.containment[1]+this.offset.click.top),t.pageX-this.offset.click.left>this.containment[2]&&(r=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3]&&(u=this.containment[3]+this.offset.click.top)),i.grid&&(t=this.originalPageY+Math.round((u-this.originalPageY)/i.grid[1])*i.grid[1],u=!this.containment||t-this.offset.click.top>=this.containment[1]&&t-this.offset.click.top<=this.containment[3]?t:t-this.offset.click.top>=this.containment[1]?t-i.grid[1]:t+i.grid[1],t=this.originalPageX+Math.round((r-this.originalPageX)/i.grid[0])*i.grid[0],r=!this.containment||t-this.offset.click.left>=this.containment[0]&&t-this.offset.click.left<=this.containment[2]?t:t-this.offset.click.left>=this.containment[0]?t-i.grid[0]:t+i.grid[0])),{top:u-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():e?0:f.scrollTop()),left:r-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():e?0:f.scrollLeft())}},_rearrange:function(n,t,i,r){i?i[0].appendChild(this.placeholder[0]):t.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?t.item[0]:t.item[0].nextSibling);this.counter=this.counter?++this.counter:1;var u=this.counter;this._delay(function(){u===this.counter&&this.refreshPositions(!r)})},_clear:function(n,t){function u(n,t,i){return function(r){i._trigger(n,r,t._uiHash(t))}}this.reverting=!1;var i,r=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)"auto"!==this._storedCSS[i]&&"static"!==this._storedCSS[i]||(this._storedCSS[i]="");this.currentItem.css(this._storedCSS);this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!t&&r.push(function(n){this._trigger("receive",n,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||t||r.push(function(n){this._trigger("update",n,this._uiHash())}),this!==this.currentContainer&&(t||(r.push(function(n){this._trigger("remove",n,this._uiHash())}),r.push(function(n){return function(t){n._trigger("receive",t,this._uiHash(this))}}.call(this,this.currentContainer)),r.push(function(n){return function(t){n._trigger("update",t,this._uiHash(this))}}.call(this,this.currentContainer)))),i=this.containers.length-1;0<=i;i--)t||r.push(u("deactivate",this,this.containers[i])),this.containers[i].containerCache.over&&(r.push(u("out",this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,t||this._trigger("beforeStop",n,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!t){for(i=0;i<r.length;i++)r[i].call(this,n);this._trigger("stop",n,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){!1===n.Widget.prototype._trigger.apply(this,arguments)&&this.cancel()},_uiHash:function(t){var i=t||this;return{helper:i.helper,placeholder:i.placeholder||n([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:t?t.element:null}}});n.widget("ui.spinner",{version:"1.13.2",defaultElement:"<input>",widgetEventPrefix:"spin",options:{classes:{"ui-spinner":"ui-corner-all","ui-spinner-down":"ui-corner-br","ui-spinner-up":"ui-corner-tr"},culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max);this._setOption("min",this.options.min);this._setOption("step",this.options.step);""!==this.value()&&this._value(this.element.val(),!0);this._draw();this._on(this._events);this._refresh();this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var t=this._super(),i=this.element;return n.each(["min","max","step"],function(n,r){var u=i.attr(r);null!=u&&u.length&&(t[r]=u)}),t},_events:{keydown:function(n){this._start(n)&&this._keydown(n)&&n.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(n){this.cancelBlur?delete this.cancelBlur:(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",n))},mousewheel:function(t,i){var r=n.ui.safeActiveElement(this.document[0]);if(this.element[0]===r&&i){if(!this.spinning&&!this._start(t))return!1;this._spin((0<i?1:-1)*this.options.step,t);clearTimeout(this.mousewheelTimer);this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100);t.preventDefault()}},"mousedown .ui-spinner-button":function(t){function r(){this.element[0]===n.ui.safeActiveElement(this.document[0])||(this.element.trigger("focus"),this.previous=i,this._delay(function(){this.previous=i}))}var i;i=this.element[0]===n.ui.safeActiveElement(this.document[0])?this.previous:this.element.val();t.preventDefault();r.call(this);this.cancelBlur=!0;this._delay(function(){delete this.cancelBlur;r.call(this)});!1!==this._start(t)&&this._repeat(null,n(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(t){if(n(t.currentTarget).hasClass("ui-state-active"))return!1!==this._start(t)&&void this._repeat(null,n(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseleave .ui-spinner-button":"_stop"},_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap("<span>").parent().append("<a><\/a><a><\/a>")},_draw:function(){this._enhance();this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content");this._addClass("ui-spinner-input");this.element.attr("role","spinbutton");this.buttons=this.uiSpinner.children("a").attr("tabIndex",-1).attr("aria-hidden",!0).button({classes:{"ui-button":""}});this._removeClass(this.buttons,"ui-corner-all");this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up");this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down");this.buttons.first().button({icon:this.options.icons.up,showLabel:!1});this.buttons.last().button({icon:this.options.icons.down,showLabel:!1});this.buttons.height()>Math.ceil(.5*this.uiSpinner.height())&&0<this.uiSpinner.height()&&this.uiSpinner.height(this.uiSpinner.height())},_keydown:function(t){var r=this.options,i=n.ui.keyCode;switch(t.keyCode){case i.UP:return this._repeat(null,1,t),!0;case i.DOWN:return this._repeat(null,-1,t),!0;case i.PAGE_UP:return this._repeat(null,r.page,t),!0;case i.PAGE_DOWN:return this._repeat(null,-r.page,t),!0}return!1},_start:function(n){return!(!this.spinning&&!1===this._trigger("start",n))&&(this.counter||(this.counter=1),this.spinning=!0)},_repeat:function(n,t,i){n=n||500;clearTimeout(this.timer);this.timer=this._delay(function(){this._repeat(40,t,i)},n);this._spin(t*this.options.step,i)},_spin:function(n,t){var i=this.value()||0;this.counter||(this.counter=1);i=this._adjustValue(i+n*this._increment(this.counter));this.spinning&&!1===this._trigger("spin",t,{value:i})||(this._value(i),this.counter++)},_increment:function(n){var t=this.options.incremental;return t?"function"==typeof t?t(n):Math.floor(n*n*n/5e4-n*n/500+17*n/200+1):1},_precision:function(){var n=this._precisionOf(this.options.step);return null!==this.options.min?Math.max(n,this._precisionOf(this.options.min)):n},_precisionOf:function(n){var t=n.toString(),n=t.indexOf(".");return-1===n?0:t.length-n-1},_adjustValue:function(n){var t=this.options,i=null!==t.min?t.min:0,r=n-i;return n=i+Math.round(r/t.step)*t.step,n=parseFloat(n.toFixed(this._precision())),null!==t.max&&n>t.max?t.max:null!==t.min&&n<t.min?t.min:n},_stop:function(n){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",n))},_setOption:function(n,t){var i;if("culture"===n||"numberFormat"===n)return i=this._parse(this.element.val()),this.options[n]=t,void this.element.val(this._format(i));"max"!==n&&"min"!==n&&"step"!==n||"string"==typeof t&&(t=this._parse(t));"icons"===n&&(i=this.buttons.first().find(".ui-icon"),this._removeClass(i,null,this.options.icons.up),this._addClass(i,null,t.up),i=this.buttons.last().find(".ui-icon"),this._removeClass(i,null,this.options.icons.down),this._addClass(i,null,t.down));this._super(n,t)},_setOptionDisabled:function(n){this._super(n);this._toggleClass(this.uiSpinner,null,"ui-state-disabled",!!n);this.element.prop("disabled",!!n);this.buttons.button(n?"disable":"enable")},_setOptions:o(function(n){this._super(n)}),_parse:function(n){return""===(n="string"==typeof n&&""!==n?window.Globalize&&this.options.numberFormat?Globalize.parseFloat(n,10,this.options.culture):+n:n)||isNaN(n)?null:n},_format:function(n){return""===n?"":window.Globalize&&this.options.numberFormat?Globalize.format(n,this.options.numberFormat,this.options.culture):n},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var n=this.value();return null!==n&&n===this._adjustValue(n)},_value:function(n,t){var i;""!==n&&null!==(i=this._parse(n))&&(t||(i=this._adjustValue(i)),n=this._format(i));this.element.val(n);this._refresh()},_destroy:function(){this.element.prop("disabled",!1).removeAttr("autocomplete role aria-valuemin aria-valuemax aria-valuenow");this.uiSpinner.replaceWith(this.element)},stepUp:o(function(n){this._stepUp(n)}),_stepUp:function(n){this._start()&&(this._spin((n||1)*this.options.step),this._stop())},stepDown:o(function(n){this._stepDown(n)}),_stepDown:function(n){this._start()&&(this._spin((n||1)*-this.options.step),this._stop())},pageUp:o(function(n){this._stepUp((n||1)*this.options.page)}),pageDown:o(function(n){this._stepDown((n||1)*this.options.page)}),value:function(n){if(!arguments.length)return this._parse(this.element.val());o(this._value).call(this,n)},widget:function(){return this.uiSpinner}});!1!==n.uiBackCompat&&n.widget("ui.spinner",n.ui.spinner,{_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml())},_uiSpinnerHtml:function(){return"<span>"},_buttonHtml:function(){return"<a><\/a><a><\/a>"}});n.ui.spinner;n.widget("ui.tabs",{version:"1.13.2",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:(ht=/#.*$/,function(n){var t=n.href.replace(ht,""),i=location.href.replace(ht,"");try{t=decodeURIComponent(t)}catch(n){}try{i=decodeURIComponent(i)}catch(n){}return 1<n.hash.length&&t===i}),_create:function(){var i=this,t=this.options;this.running=!1;this._addClass("ui-tabs","ui-widget ui-widget-content");this._toggleClass("ui-tabs-collapsible",null,t.collapsible);this._processTabs();t.active=this._initialActive();Array.isArray(t.disabled)&&(t.disabled=n.uniqueSort(t.disabled.concat(n.map(this.tabs.filter(".ui-state-disabled"),function(n){return i.tabs.index(n)}))).sort());this.active=!1!==this.options.active&&this.anchors.length?this._findActive(t.active):n();this._refresh();this.active.length&&this.load(t.active)},_initialActive:function(){var t=this.options.active,i=this.options.collapsible,r=location.hash.substring(1);return null===t&&(r&&this.tabs.each(function(i,u){if(n(u).attr("aria-controls")===r)return t=i,!1}),null!==(t=null===t?this.tabs.index(this.tabs.filter(".ui-tabs-active")):t)&&-1!==t||(t=!!this.tabs.length&&0)),!1!==t&&-1===(t=this.tabs.index(this.tabs.eq(t)))&&(t=!i&&0),t=!i&&!1===t&&this.anchors.length?0:t},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):n()}},_tabKeydown:function(t){var r=n(n.ui.safeActiveElement(this.document[0])).closest("li"),i=this.tabs.index(r),u=!0;if(!this._handlePageNav(t)){switch(t.keyCode){case n.ui.keyCode.RIGHT:case n.ui.keyCode.DOWN:i++;break;case n.ui.keyCode.UP:case n.ui.keyCode.LEFT:u=!1;i--;break;case n.ui.keyCode.END:i=this.anchors.length-1;break;case n.ui.keyCode.HOME:i=0;break;case n.ui.keyCode.SPACE:return t.preventDefault(),clearTimeout(this.activating),void this._activate(i);case n.ui.keyCode.ENTER:return t.preventDefault(),clearTimeout(this.activating),void this._activate(i!==this.options.active&&i);default:return}t.preventDefault();clearTimeout(this.activating);i=this._focusNextTab(i,u);t.ctrlKey||t.metaKey||(r.attr("aria-selected","false"),this.tabs.eq(i).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",i)},this.delay))}},_panelKeydown:function(t){this._handlePageNav(t)||t.ctrlKey&&t.keyCode===n.ui.keyCode.UP&&(t.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(t){return t.altKey&&t.keyCode===n.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):t.altKey&&t.keyCode===n.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(t,i){for(var r=this.tabs.length-1;-1!==n.inArray(t=(t=r<t?0:t)<0?r:t,this.options.disabled);)t=i?t+1:t-1;return t},_focusNextTab:function(n,t){return n=this._findNextTab(n,t),this.tabs.eq(n).trigger("focus"),n},_setOption:function(n,t){"active"!==n?(this._super(n,t),"collapsible"===n&&(this._toggleClass("ui-tabs-collapsible",null,t),t||!1!==this.options.active||this._activate(0)),"event"===n&&this._setupEvents(t),"heightStyle"===n&&this._setupHeightStyle(t)):this._activate(t)},_sanitizeSelector:function(n){return n?n.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var t=this.options,i=this.tablist.children(":has(a[href])");t.disabled=n.map(i.filter(".ui-state-disabled"),function(n){return i.index(n)});this._processTabs();!1!==t.active&&this.anchors.length?this.active.length&&!n.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=n()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active):(t.active=!1,this.active=n());this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled);this._setupEvents(this.options.event);this._setupHeightStyle(this.options.heightStyle);this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1});this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"});this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var t=this,i=this.tabs,r=this.anchors,u=this.panels;this.tablist=this._getList().attr("role","tablist");this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header");this.tablist.on("mousedown"+this.eventNamespace,"> li",function(t){n(this).is(".ui-state-disabled")&&t.preventDefault()}).on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){n(this).closest("li").is(".ui-state-disabled")&&this.blur()});this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1});this._addClass(this.tabs,"ui-tabs-tab","ui-state-default");this.anchors=this.tabs.map(function(){return n("a",this)[0]}).attr({tabIndex:-1});this._addClass(this.anchors,"ui-tabs-anchor");this.panels=n();this.anchors.each(function(i,r){var o,u,f,s=n(r).uniqueId().attr("id"),e=n(r).closest("li"),h=e.attr("aria-controls");t._isLocal(r)?(f=(o=r.hash).substring(1),u=t.element.find(t._sanitizeSelector(o))):(f=e.attr("aria-controls")||n({}).uniqueId()[0].id,(u=t.element.find(o="#"+f)).length||(u=t._createPanel(f)).insertAfter(t.panels[i-1]||t.tablist),u.attr("aria-live","polite"));u.length&&(t.panels=t.panels.add(u));h&&e.data("ui-tabs-aria-controls",h);e.attr({"aria-controls":f,"aria-labelledby":s});u.attr("aria-labelledby",s)});this.panels.attr("role","tabpanel");this._addClass(this.panels,"ui-tabs-panel","ui-widget-content");i&&(this._off(i.not(this.tabs)),this._off(r.not(this.anchors)),this._off(u.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(t){return n("<div>").attr("id",t).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(t){var i,r;for(Array.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1),r=0;i=this.tabs[r];r++)i=n(i),!0===t||-1!==n.inArray(r,t)?(i.attr("aria-disabled","true"),this._addClass(i,null,"ui-state-disabled")):(i.removeAttr("aria-disabled"),this._removeClass(i,null,"ui-state-disabled"));this.options.disabled=t;this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!0===t)},_setupEvents:function(t){var i={};t&&n.each(t.split(" "),function(n,t){i[t]="_eventHandler"});this._off(this.anchors.add(this.tabs).add(this.panels));this._on(!0,this.anchors,{click:function(n){n.preventDefault()}});this._on(this.anchors,i);this._on(this.tabs,{keydown:"_tabKeydown"});this._on(this.panels,{keydown:"_panelKeydown"});this._focusable(this.tabs);this._hoverable(this.tabs)},_setupHeightStyle:function(t){var i,r=this.element.parent();"fill"===t?(i=r.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var t=n(this),r=t.css("position");"absolute"!==r&&"fixed"!==r&&(i-=t.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=n(this).outerHeight(!0)}),this.panels.each(function(){n(this).height(Math.max(0,i-n(this).innerHeight()+n(this).height()))}).css("overflow","auto")):"auto"===t&&(i=0,this.panels.each(function(){i=Math.max(i,n(this).height("").height())}).height(i))},_eventHandler:function(t){var u=this.options,r=this.active,i=n(t.currentTarget).closest("li"),f=i[0]===r[0],e=f&&u.collapsible,o=e?n():this._getPanelForTab(i),s=r.length?this._getPanelForTab(r):n(),r={oldTab:r,oldPanel:s,newTab:e?n():i,newPanel:o};t.preventDefault();i.hasClass("ui-state-disabled")||i.hasClass("ui-tabs-loading")||this.running||f&&!u.collapsible||!1===this._trigger("beforeActivate",t,r)||(u.active=!e&&this.tabs.index(i),this.active=f?n():i,this.xhr&&this.xhr.abort(),s.length||o.length||n.error("jQuery UI Tabs: Mismatching fragment identifier."),o.length&&this.load(this.tabs.index(i),t),this._toggle(t,r))},_toggle:function(t,i){function e(){r.running=!1;r._trigger("activate",t,i)}function o(){r._addClass(i.newTab.closest("li"),"ui-tabs-active","ui-state-active");u.length&&r.options.show?r._show(u,r.options.show,e):(u.show(),e())}var r=this,u=i.newPanel,f=i.oldPanel;this.running=!0;f.length&&this.options.hide?this._hide(f,this.options.hide,function(){r._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active");o()}):(this._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),f.hide(),o());f.attr("aria-hidden","true");i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"});u.length&&f.length?i.oldTab.attr("tabIndex",-1):u.length&&this.tabs.filter(function(){return 0===n(this).attr("tabIndex")}).attr("tabIndex",-1);u.attr("aria-hidden","false");i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(t){var t=this._findActive(t);t[0]!==this.active[0]&&(t=(t=t.length?t:this.active).find(".ui-tabs-anchor")[0],this._eventHandler({target:t,currentTarget:t,preventDefault:n.noop}))},_findActive:function(t){return!1===t?n():this.tabs.eq(t)},_getIndex:function(t){return"string"==typeof t?this.anchors.index(this.anchors.filter("[href$='"+n.escapeSelector(t)+"']")):t},_destroy:function(){this.xhr&&this.xhr.abort();this.tablist.removeAttr("role").off(this.eventNamespace);this.anchors.removeAttr("role tabIndex").removeUniqueId();this.tabs.add(this.panels).each(function(){n.data(this,"ui-tabs-destroy")?n(this).remove():n(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")});this.tabs.each(function(){var t=n(this),i=t.data("ui-tabs-aria-controls");i?t.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):t.removeAttr("aria-controls")});this.panels.show();"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(t){var i=this.options.disabled;!1!==i&&(i=void 0!==t&&(t=this._getIndex(t),Array.isArray(i)?n.map(i,function(n){return n!==t?n:null}):n.map(this.tabs,function(n,i){return i!==t?i:null})),this._setOptionDisabled(i))},disable:function(t){var i=this.options.disabled;if(!0!==i){if(void 0===t)i=!0;else{if(t=this._getIndex(t),-1!==n.inArray(t,i))return;i=Array.isArray(i)?n.merge([t],i).sort():[t]}this._setOptionDisabled(i)}},load:function(t,i){function e(n,t){"abort"===t&&r.panels.stop(!1,!0);r._removeClass(u,"ui-tabs-loading");f.removeAttr("aria-busy");n===r.xhr&&delete r.xhr}t=this._getIndex(t);var r=this,u=this.tabs.eq(t),t=u.find(".ui-tabs-anchor"),f=this._getPanelForTab(u),o={tab:u,panel:f};this._isLocal(t[0])||(this.xhr=n.ajax(this._ajaxSettings(t,i,o)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(u,"ui-tabs-loading"),f.attr("aria-busy","true"),this.xhr.done(function(n,t,u){setTimeout(function(){f.html(n);r._trigger("load",i,o);e(u,t)},1)}).fail(function(n,t){setTimeout(function(){e(n,t)},1)})))},_ajaxSettings:function(t,i,r){var u=this;return{url:t.attr("href").replace(/#.*$/,""),beforeSend:function(t,f){return u._trigger("beforeLoad",i,n.extend({jqXHR:t,ajaxSettings:f},r))}}},_getPanelForTab:function(t){return t=n(t).attr("aria-controls"),this.element.find(this._sanitizeSelector("#"+t))}});!1!==n.uiBackCompat&&n.widget("ui.tabs",n.ui.tabs,{_processTabs:function(){this._superApply(arguments);this._addClass(this.tabs,"ui-tab")}});n.ui.tabs;n.widget("ui.tooltip",{version:"1.13.2",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var t=n(this).attr("title");return n("<a>").text(t).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(n,t){var i=(n.attr("aria-describedby")||"").split(/\s+/);i.push(t);n.data("ui-tooltip-id",t).attr("aria-describedby",String.prototype.trim.call(i.join(" ")))},_removeDescribedBy:function(t){var r=t.data("ui-tooltip-id"),i=(t.attr("aria-describedby")||"").split(/\s+/),r=n.inArray(r,i);-1!==r&&i.splice(r,1);t.removeData("ui-tooltip-id");(i=String.prototype.trim.call(i.join(" ")))?t.attr("aria-describedby",i):t.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"});this.tooltips={};this.parents={};this.liveRegion=n("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body);this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible");this.disabledTitles=n([])},_setOption:function(t,i){var r=this;this._super(t,i);"content"===t&&n.each(this.tooltips,function(n,t){r._updateContent(t.element)})},_setOptionDisabled:function(n){this[n?"_disable":"_enable"]()},_disable:function(){var t=this;n.each(this.tooltips,function(i,r){var u=n.Event("blur");u.target=u.currentTarget=r.element[0];t.close(u,!0)});this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var t=n(this);if(t.is("[title]"))return t.data("ui-tooltip-title",t.attr("title")).removeAttr("title")}))},_enable:function(){this.disabledTitles.each(function(){var t=n(this);t.data("ui-tooltip-title")&&t.attr("title",t.data("ui-tooltip-title"))});this.disabledTitles=n([])},open:function(t){var r=this,i=n(t?t.target:this.element).closest(this.options.items);i.length&&!i.data("ui-tooltip-id")&&(i.attr("title")&&i.data("ui-tooltip-title",i.attr("title")),i.data("ui-tooltip-open",!0),t&&"mouseover"===t.type&&i.parents().each(function(){var i,t=n(this);t.data("ui-tooltip-open")&&((i=n.Event("blur")).target=i.currentTarget=this,r.close(i,!0));t.attr("title")&&(t.uniqueId(),r.parents[this.id]={element:this,title:t.attr("title")},t.attr("title",""))}),this._registerCloseHandlers(t,i),this._updateContent(i,t))},_updateContent:function(n,t){var i=this.options.content,r=this,u=t?t.type:null;if("string"==typeof i||i.nodeType||i.jquery)return this._open(t,n,i);(i=i.call(n[0],function(i){r._delay(function(){n.data("ui-tooltip-open")&&(t&&(t.type=u),this._open(t,n,i))})}))&&this._open(t,n,i)},_open:function(t,i,r){function o(n){e.of=n;u.is(":hidden")||u.position(e)}var f,u,s,e=n.extend({},this.options.position);r&&((f=this._find(i))?f.tooltip.find(".ui-tooltip-content").html(r):(i.is("[title]")&&(t&&"mouseover"===t.type?i.attr("title",""):i.removeAttr("title")),f=this._tooltip(i),u=f.tooltip,this._addDescribedBy(i,u.attr("id")),u.find(".ui-tooltip-content").html(r),this.liveRegion.children().hide(),(r=n("<div>").html(u.find(".ui-tooltip-content").html())).removeAttr("name").find("[name]").removeAttr("name"),r.removeAttr("id").find("[id]").removeAttr("id"),r.appendTo(this.liveRegion),this.options.track&&t&&/^mouse/.test(t.type)?(this._on(this.document,{mousemove:o}),o(t)):u.position(n.extend({of:i},this.options.position)),u.hide(),this._show(u,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(s=this.delayedShow=setInterval(function(){u.is(":visible")&&(o(e.of),clearInterval(s))},13)),this._trigger("open",t,{tooltip:u})))},_registerCloseHandlers:function(t,i){var r={keyup:function(t){t.keyCode===n.ui.keyCode.ESCAPE&&((t=n.Event(t)).currentTarget=i[0],this.close(t,!0))}};i[0]!==this.element[0]&&(r.remove=function(){var n=this._find(i);n&&this._removeTooltip(n.tooltip)});t&&"mouseover"!==t.type||(r.mouseleave="close");t&&"focusin"!==t.type||(r.focusout="close");this._on(!0,i,r)},close:function(t){var u,f=this,i=n(t?t.currentTarget:this.element),r=this._find(i);r?(u=r.tooltip,r.closing||(clearInterval(this.delayedShow),i.data("ui-tooltip-title")&&!i.attr("title")&&i.attr("title",i.data("ui-tooltip-title")),this._removeDescribedBy(i),r.hiding=!0,u.stop(!0),this._hide(u,this.options.hide,function(){f._removeTooltip(n(this))}),i.removeData("ui-tooltip-open"),this._off(i,"mouseleave focusout keyup"),i[0]!==this.element[0]&&this._off(i,"remove"),this._off(this.document,"mousemove"),t&&"mouseleave"===t.type&&n.each(this.parents,function(t,i){n(i.element).attr("title",i.title);delete f.parents[t]}),r.closing=!0,this._trigger("close",t,{tooltip:u}),r.hiding||(r.closing=!1))):i.removeData("ui-tooltip-open")},_tooltip:function(t){var i=n("<div>").attr("role","tooltip"),r=n("<div>").appendTo(i),u=i.uniqueId().attr("id");return this._addClass(r,"ui-tooltip-content"),this._addClass(i,"ui-tooltip","ui-widget ui-widget-content"),i.appendTo(this._appendTo(t)),this.tooltips[u]={element:t,tooltip:i}},_find:function(n){return n=n.data("ui-tooltip-id"),n?this.tooltips[n]:null},_removeTooltip:function(n){clearInterval(this.delayedShow);n.remove();delete this.tooltips[n.attr("id")]},_appendTo:function(n){return n=n.closest(".ui-front, dialog"),n.length?n:this.document[0].body},_destroy:function(){var t=this;n.each(this.tooltips,function(i,r){var u=n.Event("blur"),r=r.element;u.target=u.currentTarget=r[0];t.close(u,!0);n("#"+i).remove();r.data("ui-tooltip-title")&&(r.attr("title")||r.attr("title",r.data("ui-tooltip-title")),r.removeData("ui-tooltip-title"))});this.liveRegion.remove()}});!1!==n.uiBackCompat&&n.widget("ui.tooltip",n.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var n=this._superApply(arguments);return this.options.tooltipClass&&n.tooltip.addClass(this.options.tooltipClass),n}});n.ui.tooltip}),!function(n,t,i){function o(n,t){return typeof n===t}function it(){var i,n,u,f,e,c,t,s;for(s in h)if(h.hasOwnProperty(s)){if(i=[],n=h[s],n.name&&(i.push(n.name.toLowerCase()),n.options&&n.options.aliases&&n.options.aliases.length))for(u=0;u<n.options.aliases.length;u++)i.push(n.options.aliases[u].toLowerCase());for(f=o(n.fn,"function")?n.fn():n.fn,e=0;e<i.length;e++)c=i[e],t=c.split("."),1===t.length?r[t[0]]=f:(!r[t[0]]||r[t[0]]instanceof Boolean||(r[t[0]]=new Boolean(r[t[0]])),r[t[0]][t[1]]=f),d.push((f?"":"no-")+t.join("-"))}}function rt(n){var t=e.className,i=r._config.classPrefix||"",u;(l&&(t=t.baseVal),r._config.enableJSClass)&&(u=new RegExp("(^|\\s)"+i+"no-js(\\s|$)"),t=t.replace(u,"$1"+i+"js$2"));r._config.enableClasses&&(t+=" "+i+n.join(" "+i),l?e.className.baseVal=t:e.className=t)}function ut(n,t){return!!~(""+n).indexOf(t)}function s(){return"function"!=typeof t.createElement?t.createElement(arguments[0]):l?t.createElementNS.call(t,"http://www.w3.org/2000/svg",arguments[0]):t.createElement.apply(t,arguments)}function w(n){return n.replace(/([a-z])-([a-z])/g,function(n,t,i){return t+i.toUpperCase()}).replace(/^-/,"")}function ft(n,t){return function(){return n.apply(t,arguments)}}function et(n,t,i){var r,u;for(u in n)if(n[u]in t)return i===!1?n[u]:(r=t[n[u]],o(r,"function")?ft(r,i||t):r);return!1}function b(n){return n.replace(/([A-Z])/g,function(n,t){return"-"+t.toLowerCase()}).replace(/^ms-/,"-ms-")}function ot(t,i,r){var u,f,e;return"getComputedStyle"in n?(u=getComputedStyle.call(n,t,i),f=n.console,null!==u?r&&(u=u.getPropertyValue(r)):f&&(e=f.error?"error":"log",f[e].call(f,"getComputedStyle returning null, its possible modernizr test results are inaccurate"))):u=!i&&t.currentStyle&&t.currentStyle[r],u}function st(){var n=t.body;return n||(n=s(l?"svg":"body"),n.fake=!0),n}function ht(n,i,r,u){var o,a,c,v,l="modernizr",h=s("div"),f=st();if(parseInt(r,10))for(;r--;)c=s("div"),c.id=u?u[r]:l+(r+1),h.appendChild(c);return o=s("style"),o.type="text/css",o.id="s"+l,(f.fake?f:h).appendChild(o),f.appendChild(h),o.styleSheet?o.styleSheet.cssText=n:o.appendChild(t.createTextNode(n)),h.id=l,f.fake&&(f.style.background="",f.style.overflow="hidden",v=e.style.overflow,e.style.overflow="hidden",e.appendChild(f)),a=i(h,n),f.fake?(f.parentNode.removeChild(f),e.style.overflow=v,e.offsetHeight):h.parentNode.removeChild(h),!!a}function ct(t,r){var f=t.length,u;if("CSS"in n&&"supports"in n.CSS){for(;f--;)if(n.CSS.supports(b(t[f]),r))return!0;return!1}if("CSSSupportsRule"in n){for(u=[];f--;)u.push("("+b(t[f])+":"+r+")");return u=u.join(" or "),ht("@supports ("+u+") { #modernizr { position: absolute; } }",function(n){return"absolute"==ot(n,null,"position")})}return i}function lt(n,t,r,f){function c(){v&&(delete u.style,delete u.modElem)}var l,v,h,y,e,p,a;if((f=o(f,"undefined")?!1:f,!o(r,"undefined"))&&(l=ct(n,r),!o(l,"undefined")))return l;for(a=["modernizr","tspan","samp"];!u.style&&a.length;)v=!0,u.modElem=s(a.shift()),u.style=u.modElem.style;for(y=n.length,h=0;y>h;h++)if(e=n[h],p=u.style[e],ut(e,"-")&&(e=w(e)),u.style[e]!==i){if(f||o(r,"undefined"))return c(),"pfx"==t?e:!0;try{u.style[e]=r}catch(b){}if(u.style[e]!=p)return c(),"pfx"==t?e:!0}return c(),!1}function c(n,t,i,r,u){var f=n.charAt(0).toUpperCase()+n.slice(1),e=(n+" "+nt.join(f+" ")+f).split(" ");return o(t,"string")||o(t,"undefined")?lt(e,t,r,u):(e=(n+" "+v.join(f+" ")+f).split(" "),et(e,t,i))}function k(n,t,r){return c(n,i,i,t,r)}var d=[],h=[],f={_version:"3.5.0",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(n,t){var i=this;setTimeout(function(){t(i[n])},0)},addTest:function(n,t,i){h.push({name:n,fn:t,options:i})},addAsyncTest:function(n){h.push({name:null,fn:n})}},r=function(){},v,y,u,p,tt,a;r.prototype=f;r=new r;var e=t.documentElement,l="svg"===e.nodeName.toLowerCase(),g="Moz O ms Webkit",nt=f._config.usePrefixes?g.split(" "):[];for(f._cssomPrefixes=nt,v=f._config.usePrefixes?g.toLowerCase().split(" "):[],f._domPrefixes=v,y={elem:s("modernizr")},r._q.push(function(){delete y.elem}),u={style:y.elem.style},r._q.unshift(function(){delete u.style}),f.testAllProps=c,f.testAllProps=k,r.addTest("flexbox",k("flexBasis","1px",!0)),p=function(t){var u,s=prefixes.length,f=n.CSSRule,r,e,o;if("undefined"==typeof f)return i;if(!t)return!1;if(t=t.replace(/^@/,""),u=t.replace(/-/g,"_").toUpperCase()+"_RULE",u in f)return"@"+t;for(r=0;s>r;r++)if(e=prefixes[r],o=e.toUpperCase()+"_"+u,o in f)return"@-"+e.toLowerCase()+"-"+t;return!1},f.atRule=p,tt=f.prefixed=function(n,t,i){return 0===n.indexOf("@")?p(n):(-1!=n.indexOf("-")&&(n=w(n)),t?c(n,t,i):c(n,"pfx"))},r.addTest("objectfit",!!tt("objectFit"),{aliases:["object-fit"]}),it(),rt(d),delete f.addTest,delete f.addAsyncTest,a=0;a<r._q.length;a++)r._q[a]();n.Modernizr=r}(window,document),!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(n.jsts=n.jsts||{})}(this,function(n){"use strict";function bs(){}function ft(){}function a(){}function ur(){}function tc(){}function ke(){}function fr(){}function li(n){this.name="RuntimeException";this.message=n;this.stack=(new Error).stack;Error.call(this,n)}function wo(){if(0===arguments.length)li.call(this);else if(1===arguments.length){var n=arguments[0];li.call(this,n)}}function c(){}function r(){var n,t,i;if(this.x=null,this.y=null,this.z=null,0===arguments.length)r.call(this,0,0);else if(1===arguments.length)n=arguments[0],r.call(this,n.x,n.y,n.z);else if(2===arguments.length)t=arguments[0],i=arguments[1],r.call(this,t,i,r.NULL_ORDINATE);else if(3===arguments.length){var u=arguments[0],f=arguments[1],e=arguments[2];this.x=u;this.y=f;this.z=e}}function de(){if(this.dimensionsToTest=2,0===arguments.length)de.call(this,2);else if(1===arguments.length){var n=arguments[0];if(2!==n&&3!==n)throw new ft("only 2 or 3 dimensions may be specified");this.dimensionsToTest=n}}function ic(){}function yt(){}function sp(n){this.message=n||""}function ei(){}function ks(n){this.message=n||""}function rc(n){this.message=n||""}function u(){this.array_=[];arguments[0]instanceof yt&&this.addAll(arguments[0])}function gt(){var n,t,i;(u.apply(this),0===arguments.length)||(1===arguments.length?(n=arguments[0],this.ensureCapacity(n.length),this.add(n,!0)):2===arguments.length&&(t=arguments[0],i=arguments[1],this.ensureCapacity(t.length),this.add(t,i)))}function p(){var n,u,t,i;if(this.minx=null,this.maxx=null,this.miny=null,this.maxy=null,0===arguments.length)this.init();else if(1===arguments.length)arguments[0]instanceof r?(n=arguments[0],this.init(n.x,n.x,n.y,n.y)):arguments[0]instanceof p&&(u=arguments[0],this.init(u));else if(2===arguments.length)t=arguments[0],i=arguments[1],this.init(t.x,i.x,t.y,i.y);else if(4===arguments.length){var f=arguments[0],e=arguments[1],o=arguments[2],s=arguments[3];this.init(f,e,o,s)}}function la(){}function wf(){la.call(this,"Projective point not representable on the Cartesian plane.")}function i(){}function kr(){}function su(n){this.str=n}function pu(n){this.value=n}function uc(){}function f(){var n,t,i,r,u;(this.hi=0,this.lo=0,0===arguments.length)?this.init(0):1===arguments.length?"number"==typeof arguments[0]?(n=arguments[0],this.init(n)):arguments[0]instanceof f?(t=arguments[0],this.init(t)):"string"==typeof arguments[0]&&(i=arguments[0],f.call(this,f.parse(i))):2===arguments.length&&(r=arguments[0],u=arguments[1],this.init(r,u))}function er(){}function lt(){}function pt(){}function lr(){var h,c,l,n,t,i,u;if(this.x=null,this.y=null,this.w=null,0===arguments.length)this.x=0,this.y=0,this.w=1;else if(1===arguments.length)h=arguments[0],this.x=h.x,this.y=h.y,this.w=1;else if(2===arguments.length)"number"==typeof arguments[0]&&"number"==typeof arguments[1]?(c=arguments[0],l=arguments[1],this.x=c,this.y=l,this.w=1):arguments[0]instanceof lr&&arguments[1]instanceof lr?(n=arguments[0],t=arguments[1],this.x=n.y*t.w-t.y*n.w,this.y=t.x*n.w-n.x*t.w,this.w=n.x*t.y-t.x*n.y):arguments[0]instanceof r&&arguments[1]instanceof r&&(i=arguments[0],u=arguments[1],this.x=i.y-u.y,this.y=u.x-i.x,this.w=i.x*u.y-u.x*i.y);else if(3===arguments.length){var k=arguments[0],d=arguments[1],g=arguments[2];this.x=k;this.y=d;this.w=g}else if(4===arguments.length){var f=arguments[0],e=arguments[1],o=arguments[2],s=arguments[3],a=f.y-e.y,v=e.x-f.x,y=f.x*e.y-e.x*f.y,p=o.y-s.y,w=s.x-o.x,b=o.x*s.y-s.x*o.y;this.x=v*b-w*y;this.y=p*y-a*b;this.w=a*w-p*v}}function aa(){}function wu(){}function h(){this.envelope=null;this.factory=null;this.SRID=null;this.userData=null;var n=arguments[0];this.factory=n;this.SRID=n.getSRID()}function ge(){}function oi(){}function va(){}function ya(){}function pa(){}function wa(){}function w(){}function hp(){}function cp(){}function bo(){}function cb(){}function ba(){}function ai(){this.array_=[];arguments[0]instanceof yt&&this.addAll(arguments[0])}function lb(n){return null==n?af:n.color}function at(n){return null==n?null:n.parent}function bf(n,t){null!==n&&(n.color=t)}function lp(n){return null==n?null:n.left}function ab(n){return null==n?null:n.right}function ui(){this.root_=null;this.size_=0}function fc(){}function vb(){}function gi(){this.array_=[];arguments[0]instanceof yt&&this.addAll(arguments[0])}function kf(){}function e(){}function df(){}function ko(){}function nt(){this.geometries=null;var n=arguments[0],t=arguments[1];if(h.call(this,t),null===n&&(n=[]),h.hasNullElements(n))throw new ft("geometries must not contain null elements");this.geometries=n}function nr(){var n=arguments[0],t=arguments[1];nt.call(this,n,t)}function ce(){var t,n,i;(this.geom=null,this.geomFact=null,this.bnRule=null,this.endpointMap=null,1===arguments.length)?(t=arguments[0],ce.call(this,t,oi.MOD2_BOUNDARY_RULE)):2===arguments.length&&(n=arguments[0],i=arguments[1],this.geom=n,this.geomFact=n.getFactory(),this.bnRule=i)}function ap(){this.count=null}function wk(){}function bk(){}function kk(){}function dk(){}function gk(){}function nd(){}function dr(){}function ri(){}function d(){this.points=null;var n=arguments[0],t=arguments[1];h.call(this,t);this.init(n)}function ka(){}function bt(){this.coordinates=null;var n=arguments[0],t=arguments[1];h.call(this,t);this.init(n)}function gf(){}function ht(){this.shell=null;this.holes=null;var t=arguments[0],n=arguments[1],i=arguments[2];if(h.call(this,i),null===t&&(t=this.getFactory().createLinearRing()),null===n&&(n=[]),h.hasNullElements(n))throw new ft("holes must not contain null elements");if(t.isEmpty()&&h.hasNonEmptyElements(n))throw new ft("shell is empty but holes are not");this.shell=t;this.holes=n}function ar(){var n=arguments[0],t=arguments[1];nt.call(this,n,t)}function ni(){var t,n,i,u;arguments[0]instanceof r&&arguments[1]instanceof g?(t=arguments[0],n=arguments[1],ni.call(this,n.getCoordinateSequenceFactory().create(t),n)):l(arguments[0],lt)&&arguments[1]instanceof g&&(i=arguments[0],u=arguments[1],d.call(this,i,u),this.validateConstruction())}function vi(){var n=arguments[0],t=arguments[1];nt.call(this,n,t)}function gr(){if((this.factory=null,this.isUserDataCopied=!1,0!==arguments.length)&&1===arguments.length){var n=arguments[0];this.factory=n}}function da(){}function vp(){}function yp(){}function pp(){}function nu(){var e,i,t,u,o,f,s,n;if(this.dimension=3,this.coordinates=null,1===arguments.length){if(arguments[0]instanceof Array)e=arguments[0],nu.call(this,e,3);else if(Number.isInteger(arguments[0]))for(i=arguments[0],this.coordinates=new Array(i).fill(null),n=0;n<i;n++)this.coordinates[n]=new r;else if(l(arguments[0],lt)){if(t=arguments[0],null===t)return this.coordinates=new Array(0).fill(null),null;for(this.dimension=t.getDimension(),this.coordinates=new Array(t.size()).fill(null),n=0;n<this.coordinates.length;n++)this.coordinates[n]=t.getCoordinateCopy(n)}}else if(2===arguments.length)if(arguments[0]instanceof Array&&Number.isInteger(arguments[1]))u=arguments[0],o=arguments[1],this.coordinates=u,this.dimension=o,null===u&&(this.coordinates=new Array(0).fill(null));else if(Number.isInteger(arguments[0])&&Number.isInteger(arguments[1]))for(f=arguments[0],s=arguments[1],this.coordinates=new Array(f).fill(null),this.dimension=s,n=0;n<f;n++)this.coordinates[n]=new r}function le(){}function td(n,t){return n===t||n!==n&&t!==t}function id(n){this.add?n.forEach(this.add,this):n.forEach(function(n){this.set(n[0],n[1])},this)}function rd(n){return this.has(n)&&(this._keys.splice(vf,1),this._values.splice(vf,1),this._itp.forEach(function(n){vf<n[0]&&n[0]--})),vf>-1}function ud(n){if(this.has(n))return this._values[vf]}function fd(n,t){if(this.objectOnly&&t!==Object(t))throw new TypeError("Invalid value used as weak collection key");if(t!==t||0===t)for(vf=n.length;vf--&&!td(n[vf],t););else vf=n.indexOf(t);return vf>-1}function ed(n){return fd.call(this,this._keys,n)}function od(n,t){return this.has(n)?this._values[vf]=t:this._values[this._keys.push(n)-1]=t,this}function sd(){(this._keys||0).length=this._values.length=0}function hd(){return wp(this._itp,this._keys)}function cd(){return wp(this._itp,this._values)}function ld(){return wp(this._itp,this._keys,this._values)}function wp(n,t,i){var r=[0],u=!1;return n.push(r),{next:function(){var e,f=r[0];return!u&&f<t.length?(e=i?[t[f],i[f]]:t[f],r[0]++):(u=!0,n.splice(n.indexOf(r),1)),{done:u,value:e}}}}function ad(){return this._values.length}function vd(n,t){for(var i,r=this.entries();;){if(i=r.next(),i.done)break;n.call(t,i.value[1],i.value[0],this)}}function ne(){this.map_=new kd}function et(){var n,i,t;(this.modelType=null,this.scale=null,0===arguments.length)?this.modelType=et.FLOATING:1===arguments.length&&(arguments[0]instanceof uf?(n=arguments[0],this.modelType=n,n===et.FIXED&&this.setScale(1)):"number"==typeof arguments[0]?(i=arguments[0],this.modelType=et.FIXED,this.setScale(i)):arguments[0]instanceof et&&(t=arguments[0],this.modelType=t.modelType,this.scale=t.scale))}function uf(){this.name=null;var n=arguments[0];this.name=n;uf.nameToTypeMap.put(n,this)}function g(){var n,t,i,r;if(this.precisionModel=null,this.coordinateSequenceFactory=null,this.SRID=null,0===arguments.length)g.call(this,new et,0);else if(1===arguments.length)l(arguments[0],aa)?(n=arguments[0],g.call(this,new et,0,n)):arguments[0]instanceof et&&(t=arguments[0],g.call(this,t,0,g.getDefaultCoordinateSequenceFactory()));else if(2===arguments.length)i=arguments[0],r=arguments[1],g.call(this,i,r,g.getDefaultCoordinateSequenceFactory());else if(3===arguments.length){var u=arguments[0],f=arguments[1],e=arguments[2];this.precisionModel=u;this.coordinateSequenceFactory=e;this.SRID=f}}function bp(n){this.geometryFactory=n||new g}function wi(n){this.parser=new bp(n)}function ct(){this.result=null;this.inputLines=Array(2).fill().map(function(){return Array(2)});this.intPt=new Array(2).fill(null);this.intLineIndex=null;this._isProper=null;this.pa=null;this.pb=null;this.precisionModel=null;this.intPt[0]=new r;this.intPt[1]=new r;this.pa=this.intPt[0];this.pb=this.intPt[1];this.result=0}function si(){ct.apply(this)}function go(){}function ns(){this.p=null;this.crossingCount=0;this.isPointOnSegment=!1;var n=arguments[0];this.p=n}function s(){}function b(){var n,t,i;if(this.p0=null,this.p1=null,0===arguments.length)b.call(this,new r,new r);else if(1===arguments.length)n=arguments[0],b.call(this,n.p0,n.p1);else if(2===arguments.length)t=arguments[0],i=arguments[1],this.p0=t,this.p1=i;else if(4===arguments.length){var u=arguments[0],f=arguments[1],e=arguments[2],o=arguments[3];b.call(this,new r(u,f),new r(e,o))}}function st(){var t,n;(this.matrix=null,0===arguments.length)?(this.matrix=Array(3).fill().map(function(){return Array(3)}),this.setAll(e.FALSE)):1===arguments.length&&("string"==typeof arguments[0]?(t=arguments[0],st.call(this),this.set(t)):arguments[0]instanceof st&&(n=arguments[0],st.call(this),this.matrix[i.INTERIOR][i.INTERIOR]=n.matrix[i.INTERIOR][i.INTERIOR],this.matrix[i.INTERIOR][i.BOUNDARY]=n.matrix[i.INTERIOR][i.BOUNDARY],this.matrix[i.INTERIOR][i.EXTERIOR]=n.matrix[i.INTERIOR][i.EXTERIOR],this.matrix[i.BOUNDARY][i.INTERIOR]=n.matrix[i.BOUNDARY][i.INTERIOR],this.matrix[i.BOUNDARY][i.BOUNDARY]=n.matrix[i.BOUNDARY][i.BOUNDARY],this.matrix[i.BOUNDARY][i.EXTERIOR]=n.matrix[i.BOUNDARY][i.EXTERIOR],this.matrix[i.EXTERIOR][i.INTERIOR]=n.matrix[i.EXTERIOR][i.INTERIOR],this.matrix[i.EXTERIOR][i.BOUNDARY]=n.matrix[i.EXTERIOR][i.BOUNDARY],this.matrix[i.EXTERIOR][i.EXTERIOR]=n.matrix[i.EXTERIOR][i.EXTERIOR]))}function te(){this.areaBasePt=null;this.triangleCent3=new r;this.areasum2=0;this.cg3=new r;this.lineCentSum=new r;this.totalLength=0;this.ptCount=0;this.ptCentSum=new r;var n=arguments[0];this.areaBasePt=null;this.add(n)}function ga(n){this.message=n||""}function tr(){this.array_=[]}function ds(){this.treeSet=new gi;this.list=new u}function ie(){var n,t,i;(this.geomFactory=null,this.inputPts=null,1===arguments.length)?(n=arguments[0],ie.call(this,ie.extractCoordinates(n),n.getFactory())):2===arguments.length&&(t=arguments[0],i=arguments[1],this.inputPts=ds.filterCoordinates(t),this.geomFactory=i)}function gs(){this.origin=null;var n=arguments[0];this.origin=n}function or(){this.inputGeom=null;this.factory=null;this.pruneEmptyGeometry=!0;this.preserveGeometryCollectionType=!0;this.preserveCollections=!1;this.preserveType=!1}function nh(){var t,i,n,r;(this.snapTolerance=0,this.srcPts=null,this.seg=new b,this.allowSnappingToSourceVertices=!1,this._isClosed=!1,arguments[0]instanceof d&&"number"==typeof arguments[1])?(t=arguments[0],i=arguments[1],nh.call(this,t.getCoordinates(),i)):arguments[0]instanceof Array&&"number"==typeof arguments[1]&&(n=arguments[0],r=arguments[1],this.srcPts=n,this._isClosed=nh.isClosed(n),this.snapTolerance=r)}function ir(){this.srcGeom=null;var n=arguments[0];this.srcGeom=n}function ec(){var n,t;if(or.apply(this),this.snapTolerance=null,this.snapPts=null,this.isSelfSnap=!1,2===arguments.length)n=arguments[0],t=arguments[1],this.snapTolerance=n,this.snapPts=t;else if(3===arguments.length){var i=arguments[0],r=arguments[1],u=arguments[2];this.snapTolerance=i;this.snapPts=r;this.isSelfSnap=u}}function tu(){this.isFirst=!0;this.commonMantissaBitsCount=53;this.commonBits=0;this.commonSignExp=null}function oc(){this.commonCoord=null;this.ccFilter=new nv}function nv(){this.commonBitsX=new tu;this.commonBitsY=new tu}function sc(){this.trans=null;var n=arguments[0];this.trans=n}function ts(){this.parent=null;this.atStart=null;this.max=null;this.index=null;this.subcollectionIterator=null;var n=arguments[0];this.parent=n;this.atStart=!0;this.index=0;this.max=n.getNumGeometries()}function is(){if((this.boundaryRule=oi.OGC_SFS_BOUNDARY_RULE,this.isIn=null,this.numBoundaries=null,0!==arguments.length)&&1===arguments.length){var n=arguments[0];if(null===n)throw new ft("Rule must be non-null");this.boundaryRule=n}}function th(){}function hc(){}function kp(){this.pts=null;this.data=null;var n=arguments[0],t=arguments[1];this.pts=n;this.data=t}function tv(){}function re(){this.bounds=null;this.item=null;var n=arguments[0],t=arguments[1];this.bounds=n;this.item=t}function dp(){this._size=null;this.items=null;this._size=0;this.items=new u;this.items.add(null)}function no(){}function iv(){}function rr(){if((this.childBoundables=new u,this.bounds=null,this.level=null,0!==arguments.length)&&1===arguments.length){var n=arguments[0];this.level=n}}function sr(){this.boundable1=null;this.boundable2=null;this._distance=null;this.itemDistance=null;var n=arguments[0],t=arguments[1],i=arguments[2];this.boundable1=n;this.boundable2=t;this.itemDistance=i;this._distance=this.distance()}function ti(){if(this.root=null,this.built=!1,this.itemBoundables=new u,this.nodeCapacity=null,0===arguments.length)ti.call(this,ti.DEFAULT_NODE_CAPACITY);else if(1===arguments.length){var n=arguments[0];c.isTrue(n>1,"Node capacity must be greater than 1");this.nodeCapacity=n}}function yd(){}function rv(){}function kt(){if(0===arguments.length)kt.call(this,kt.DEFAULT_NODE_CAPACITY);else if(1===arguments.length){var n=arguments[0];ti.call(this,n)}}function cc(){var n=arguments[0];rr.call(this,n)}function hr(){}function gp(){this.segString=null;this.coord=null;this.segmentIndex=null;this.segmentOctant=null;this._isInterior=null;var n=arguments[0],t=arguments[1],i=arguments[2],u=arguments[3];this.segString=n;this.coord=new r(t);this.segmentIndex=i;this.segmentOctant=u;this._isInterior=!t.equals2D(n.getCoordinate(i))}function nw(){this.nodeMap=new ui;this.edge=null;var n=arguments[0];this.edge=n}function yb(){this.nodeList=null;this.edge=null;this.nodeIt=null;this.currNode=null;this.nextNode=null;this.currSegIndex=0;var n=arguments[0];this.nodeList=n;this.edge=n.getEdge();this.nodeIt=n.iterator();this.readNextNode()}function tw(){}function ff(){this.nodeList=new nw(this);this.pts=null;this.data=null;var n=arguments[0],t=arguments[1];this.pts=n;this.data=t}function lc(){this.tempEnv1=new p;this.tempEnv2=new p;this.overlapSeg1=new b;this.overlapSeg2=new b}function iw(){this.pts=null;this.start=null;this.end=null;this.env=null;this.context=null;this.id=null;var n=arguments[0],t=arguments[1],i=arguments[2],r=arguments[3];this.pts=n;this.start=t;this.end=i;this.context=r}function it(){}function bu(){}function ac(){}function uv(){if((this.segInt=null,0!==arguments.length)&&1===arguments.length){var n=arguments[0];this.setSegmentIntersector(n)}}function to(){if((this.monoChains=new u,this.index=new kt,this.idCounter=0,this.nodedSegStrings=null,this.nOverlaps=0,0!==arguments.length)&&1===arguments.length){var n=arguments[0];uv.call(this,n)}}function vc(){lc.apply(this);this.si=null;var n=arguments[0];this.si=n}function vr(){var t,i,n;(this.pt=null,1===arguments.length)?(t=arguments[0],li.call(this,t)):2===arguments.length&&(i=arguments[0],n=arguments[1],li.call(this,vr.msgWithCoord(i,n)),this.name="TopologyException",this.pt=new r(n))}function yc(){}function ae(){this.findAllIntersections=!1;this.isCheckEndSegmentsOnly=!1;this.li=null;this.interiorIntersection=null;this.intSegments=null;this.intersections=new u;this.intersectionCount=0;this.keepIntersections=!0;var n=arguments[0];this.li=n;this.interiorIntersection=null}function pc(){this.li=new si;this.segStrings=null;this.findAllIntersections=!1;this.segInt=null;this._isValid=!0;var n=arguments[0];this.segStrings=n}function rs(){this.nv=null;var n=arguments[0];this.nv=new pc(rs.toSegmentStrings(n))}function ih(){this.mapOp=null;var n=arguments[0];this.mapOp=n}function o(){}function yr(){var i,r,t,n;if(this.location=null,1===arguments.length){if(arguments[0]instanceof Array)i=arguments[0],this.init(i.length);else if(Number.isInteger(arguments[0]))r=arguments[0],this.init(1),this.location[o.ON]=r;else if(arguments[0]instanceof yr&&(t=arguments[0],this.init(t.location.length),null!==t))for(n=0;n<this.location.length;n++)this.location[n]=t.location[n]}else if(3===arguments.length){var u=arguments[0],f=arguments[1],e=arguments[2];this.init(3);this.location[o.ON]=u;this.location[o.LEFT]=f;this.location[o.RIGHT]=e}}function ii(){var n,t,r,u;if(this.elt=new Array(2).fill(null),1===arguments.length)Number.isInteger(arguments[0])?(n=arguments[0],this.elt[0]=new yr(n),this.elt[1]=new yr(n)):arguments[0]instanceof ii&&(t=arguments[0],this.elt[0]=new yr(t.elt[0]),this.elt[1]=new yr(t.elt[1]));else if(2===arguments.length)r=arguments[0],u=arguments[1],this.elt[0]=new yr(i.NONE),this.elt[1]=new yr(i.NONE),this.elt[r].setLocation(u);else if(3===arguments.length){var f=arguments[0],e=arguments[1],o=arguments[2];this.elt[0]=new yr(f,e,o);this.elt[1]=new yr(f,e,o)}else if(4===arguments.length){var s=arguments[0],h=arguments[1],c=arguments[2],l=arguments[3];this.elt[0]=new yr(i.NONE,i.NONE,i.NONE);this.elt[1]=new yr(i.NONE,i.NONE,i.NONE);this.elt[s].setLocations(h,c,l)}}function rh(){this.startDe=null;this.maxNodeDegree=-1;this.edges=new u;this.pts=new u;this.label=new ii(i.NONE);this.ring=null;this._isHole=null;this.shell=null;this.holes=new u;this.geometryFactory=null;var n=arguments[0],t=arguments[1];this.geometryFactory=t;this.computePoints(n);this.computeRing()}function fv(){var n=arguments[0],t=arguments[1];rh.call(this,n,t)}function wc(){var n=arguments[0],t=arguments[1];rh.call(this,n,t)}function io(){if((this.label=null,this._isInResult=!1,this._isCovered=!1,this._isCoveredSet=!1,this._isVisited=!1,0!==arguments.length)&&1===arguments.length){var n=arguments[0];this.label=n}}function ue(){io.apply(this);this.coord=null;this.edges=null;var n=arguments[0],t=arguments[1];this.coord=n;this.edges=t;this.label=new ii(0,i.NONE)}function uh(){this.nodeMap=new ui;this.nodeFact=null;var n=arguments[0];this.nodeFact=n}function ef(){var n;if(this.edge=null,this.label=null,this.node=null,this.p0=null,this.p1=null,this.dx=null,this.dy=null,this.quadrant=null,1===arguments.length)n=arguments[0],this.edge=n;else if(3===arguments.length){var t=arguments[0],i=arguments[1],r=arguments[2];ef.call(this,t,i,r,null)}else if(4===arguments.length){var u=arguments[0],f=arguments[1],e=arguments[2],o=arguments[3];ef.call(this,u);this.init(f,e);this.label=o}}function us(){var n,t,i;this._isForward=null;this._isInResult=!1;this._isVisited=!1;this.sym=null;this.next=null;this.nextMin=null;this.edgeRing=null;this.minEdgeRing=null;this.depth=[0,-999,-999];n=arguments[0];t=arguments[1];(ef.call(this,n),this._isForward=t,t)?this.init(n.getCoordinate(0),n.getCoordinate(1)):(i=n.getNumPoints()-1,this.init(n.getCoordinate(i),n.getCoordinate(i-1)));this.computeDirectedLabel()}function fs(){}function of(){if(this.edges=new u,this.nodes=null,this.edgeEndList=new u,0===arguments.length)this.nodes=new uh(new fs);else if(1===arguments.length){var n=arguments[0];this.nodes=new uh(n)}}function ev(){this.geometryFactory=null;this.shellList=new u;var n=arguments[0];this.geometryFactory=n}function rw(){this.op=null;this.geometryFactory=null;this.ptLocator=null;this.lineEdgesList=new u;this.resultLineList=new u;var n=arguments[0],t=arguments[1],i=arguments[2];this.op=n;this.geometryFactory=t;this.ptLocator=i}function uw(){this.op=null;this.geometryFactory=null;this.resultPointList=new u;var n=arguments[0],t=arguments[1];arguments[2];this.op=n;this.geometryFactory=t}function ov(){}function iu(){this.geom=null;var n=arguments[0];this.geom=n}function es(){this.edgeMap=new ui;this.edgeList=null;this.ptInAreaLocation=[i.NONE,i.NONE]}function sv(){es.apply(this);this.resultAreaEdgeList=null;this.label=null;this.SCANNING_FOR_INCOMING=1;this.LINKING_TO_OUTGOING=2}function fh(){fs.apply(this)}function fw(){this.mce=null;this.chainIndex=null;var n=arguments[0],t=arguments[1];this.mce=n;this.chainIndex=t}function fe(){var n,t;if(this.label=null,this.xValue=null,this.eventType=null,this.insertEvent=null,this.deleteEventIndex=null,this.obj=null,2===arguments.length)n=arguments[0],t=arguments[1],this.eventType=fe.DELETE,this.xValue=n,this.insertEvent=t;else if(3===arguments.length){var i=arguments[0],r=arguments[1],u=arguments[2];this.eventType=fe.INSERT;this.label=i;this.xValue=r;this.obj=u}}function hv(){}function ro(){this._hasIntersection=!1;this.hasProper=!1;this.hasProperInterior=!1;this.properIntersectionPoint=null;this.li=null;this.includeProper=null;this.recordIsolated=null;this.isSelfIntersection=null;this.numIntersections=0;this.numTests=0;this.bdyNodes=null;this._isDone=!1;this.isDoneWhenProperInt=!1;var n=arguments[0],t=arguments[1],i=arguments[2];this.li=n;this.includeProper=t;this.recordIsolated=i}function cv(){hv.apply(this);this.events=new u;this.nOverlaps=null}function os(){this.min=a.POSITIVE_INFINITY;this.max=a.NEGATIVE_INFINITY}function ew(){}function lv(){os.apply(this);this.item=null;var n=arguments[0],t=arguments[1],i=arguments[2];this.min=n;this.max=t;this.item=i}function av(){os.apply(this);this.node1=null;this.node2=null;var n=arguments[0],t=arguments[1];this.node1=n;this.node2=t;this.buildExtent(this.node1,this.node2)}function ow(){this.leaves=new u;this.root=null;this.level=0}function bi(){var n,t,i;(this.lines=null,this.isForcedToLineString=!1,1===arguments.length)?(n=arguments[0],this.lines=n):2===arguments.length&&(t=arguments[0],i=arguments[1],this.lines=t,this.isForcedToLineString=i)}function vv(){this.items=new u}function bc(){this.index=null;var n=arguments[0];if(!l(n,gf))throw new ft("Argument must be Polygonal");this.index=new pv(n)}function yv(){this.counter=null;var n=arguments[0];this.counter=n}function pv(){this.index=new ow;var n=arguments[0];this.init(n)}function sw(){this.coord=null;this.segmentIndex=null;this.dist=null;var n=arguments[0],t=arguments[1],i=arguments[2];this.coord=new r(n);this.segmentIndex=t;this.dist=i}function hw(){this.nodeMap=new ui;this.edge=null;var n=arguments[0];this.edge=n}function kc(){}function cw(){var n,t;this.e=null;this.pts=null;this.startIndex=null;this.env1=new p;this.env2=new p;n=arguments[0];this.e=n;this.pts=n.getCoordinates();t=new kc;this.startIndex=t.getChainStartIndices(this.pts)}function ku(){var n,t;for(this.depth=Array(2).fill().map(function(){return Array(3)}),n=0;n<2;n++)for(t=0;t<3;t++)this.depth[n][t]=ku.NULL_VALUE}function hu(){var n,t,i;(io.apply(this),this.pts=null,this.env=null,this.eiList=new hw(this),this.name=null,this.mce=null,this._isIsolated=!0,this.depth=new ku,this.depthDelta=0,1===arguments.length)?(n=arguments[0],hu.call(this,n,null)):2===arguments.length&&(t=arguments[0],i=arguments[1],this.pts=t,this.label=i)}function cr(){var t,i;if(of.apply(this),this.parentGeom=null,this.lineEdgeMap=new ne,this.boundaryNodeRule=null,this.useBoundaryDeterminationRule=!0,this.argIndex=null,this.boundaryNodes=null,this._hasTooFewPoints=!1,this.invalidPoint=null,this.areaPtLocator=null,this.ptLocator=new is,2===arguments.length)t=arguments[0],i=arguments[1],cr.call(this,t,i,oi.OGC_SFS_BOUNDARY_RULE);else if(3===arguments.length){var r=arguments[0],n=arguments[1],u=arguments[2];this.argIndex=r;this.parentGeom=n;this.boundaryNodeRule=u;null!==n&&this.add(n)}}function uo(){var n,r,u;if(this.li=new si,this.resultPrecisionModel=null,this.arg=null,1===arguments.length)n=arguments[0],this.setComputationPrecision(n.getPrecisionModel()),this.arg=new Array(1).fill(null),this.arg[0]=new cr(0,n);else if(2===arguments.length)r=arguments[0],u=arguments[1],uo.call(this,r,u,oi.OGC_SFS_BOUNDARY_RULE);else if(3===arguments.length){var t=arguments[0],i=arguments[1],f=arguments[2];t.getPrecisionModel().compareTo(i.getPrecisionModel())>=0?this.setComputationPrecision(t.getPrecisionModel()):this.setComputationPrecision(i.getPrecisionModel());this.arg=new Array(2).fill(null);this.arg[0]=new cr(0,t,f);this.arg[1]=new cr(1,i,f)}}function fo(){this.pts=null;this._orientation=null;var n=arguments[0];this.pts=n;this._orientation=fo.orientation(n)}function wv(){this.edges=new u;this.ocaMap=new ui}function v(){this.ptLocator=new is;this.geomFact=null;this.resultGeom=null;this.graph=null;this.edgeList=new wv;this.resultPolyList=new u;this.resultLineList=new u;this.resultPointList=new u;var n=arguments[0],t=arguments[1];uo.call(this,n,t);this.graph=new of(new fh);this.geomFact=n.getFactory()}function cu(){this.geom=new Array(2).fill(null);this.snapTolerance=null;this.cbr=null;var n=arguments[0],t=arguments[1];this.geom[0]=n;this.geom[1]=t;this.computeSnapTolerance()}function hi(){this.geom=new Array(2).fill(null);var n=arguments[0],t=arguments[1];this.geom[0]=n;this.geom[1]=t}function du(){this.factory=null;this.interiorPoint=null;this.maxWidth=0;var n=arguments[0];this.factory=n.getFactory();this.add(n)}function eh(){this.poly=null;this.centreY=null;this.hiY=a.MAX_VALUE;this.loY=-a.MAX_VALUE;var n=arguments[0];this.poly=n;this.hiY=n.getEnvelopeInternal().getMaxY();this.loY=n.getEnvelopeInternal().getMinY();this.centreY=du.avg(this.loY,this.hiY)}function bv(){this.centroid=null;this.minDistance=a.MAX_VALUE;this.interiorPoint=null;var n=arguments[0];this.centroid=n.getCentroid().getCoordinate();this.addInterior(n);null===this.interiorPoint&&this.addEndpoints(n)}function kv(){this.centroid=null;this.minDistance=a.MAX_VALUE;this.interiorPoint=null;var n=arguments[0];this.centroid=n.getCentroid().getCoordinate();this.add(n)}function eo(){this.tempEnv1=new p;this.selectedSegment=new b}function sf(){this.items=new u;this.subnode=[null,null]}function ee(){var n,t,i;(this.min=null,this.max=null,0===arguments.length)?(this.min=0,this.max=0):1===arguments.length?(n=arguments[0],this.init(n.min,n.max)):2===arguments.length&&(t=arguments[0],i=arguments[1],this.init(t,i))}function ss(){}function pd(n,t){var f,i,r,u,e={32:8,64:11}[n];if(u||(f=t<0||1/t<0,isFinite(t)||(u={32:{d:127,c:128,b:0,a:0},64:{d:32752,c:0,b:0,a:0}}[n],f&&(u.d+=1<<n/4-1),i=Math.pow(2,e)-1,r=0)),!u){for(i={32:127,64:1023}[n],r=Math.abs(t);r>=2;)i++,r/=2;for(;r<1&&i>0;)i--,r*=2;i<=0&&(r/=2);32===n&&i>254&&(u={d:f?255:127,c:128,b:0,a:0},i=Math.pow(2,e)-1,r=0)}return i}function dc(){this.pt=0;this.level=0;this.interval=null;var n=arguments[0];this.computeKey(n)}function ve(){sf.apply(this);this.interval=null;this.centre=null;this.level=null;var n=arguments[0],t=arguments[1];this.interval=n;this.level=t;this.centre=(n.getMin()+n.getMax())/2}function oo(){}function oh(){sf.apply(this)}function sh(){this.root=null;this.minExtent=1;this.root=new oh}function lw(){}function gc(){this.ring=null;this.tree=null;this.crossings=0;this.interval=new ee;var n=arguments[0];this.ring=n;this.buildIndex()}function nl(){eo.apply(this);this.mcp=null;this.p=null;var n=arguments[0],t=arguments[1];this.mcp=n;this.p=t}function k(){}function vt(){this.p0=null;this.p1=null;this.p2=null;var n=arguments[0],t=arguments[1],i=arguments[2];this.p0=n;this.p1=t;this.p2=i}function ye(){this.input=null;this.extremalPts=null;this.centre=null;this.radius=0;var n=arguments[0];this.input=n}function ki(){var n,t,i;(this.inputGeom=null,this.isConvex=null,this.convexHullPts=null,this.minBaseSeg=new b,this.minWidthPt=null,this.minPtIndex=null,this.minWidth=0,1===arguments.length)?(n=arguments[0],ki.call(this,n,!1)):2===arguments.length&&(t=arguments[0],i=arguments[1],this.inputGeom=t,this.isConvex=i)}function so(){this.inputGeom=null;this.distanceTolerance=null;var n=arguments[0];this.inputGeom=n}function tl(){or.apply(this);this.distanceTolerance=null;var n=arguments[0];this.distanceTolerance=n}function oe(){this._orig=null;this._sym=null;this._next=null;var n=arguments[0];this._orig=n}function pr(){this._isMarked=!1;var n=arguments[0];oe.call(this,n)}function hh(){this.vertexMap=new ne}function dv(){this._isStart=!1;var n=arguments[0];pr.call(this,n)}function gv(){hh.apply(this)}function il(){this.result=null;this.factory=null;this.graph=null;this.lines=new u;this.nodeEdgeStack=new tr;this.ringStartEdge=null;this.graph=new gv}function hf(){this.items=new u;this.subnode=new Array(4).fill(null)}function rl(){this.pt=new r;this.level=0;this.env=null;var n=arguments[0];this.computeKey(n)}function pe(){hf.apply(this);this.env=null;this.centrex=null;this.centrey=null;this.level=null;var n=arguments[0],t=arguments[1];this.env=n;this.level=t;this.centrex=(n.getMinX()+n.getMaxX())/2;this.centrey=(n.getMinY()+n.getMaxY())/2}function hs(){hf.apply(this)}function ho(){this.root=null;this.minExtent=1;this.root=new hs}function aw(n){this.geometryFactory=n||new g}function pb(n){this.geometryFactory=n||new g;this.precisionModel=this.geometryFactory.getPrecisionModel();this.parser=new aw(this.geometryFactory)}function wb(){this.parser=new aw(this.geometryFactory)}function bb(n){this.geometryFactory=n||new g;this.precisionModel=this.geometryFactory.getPrecisionModel();this.parser=new bp(this.geometryFactory)}function ul(n){return[n.x,n.y]}function kb(n,t){this.geometryFactory=n||new g;this.ol=t||"undefined"!=typeof ol&&ol}function fl(){var n,t,i,r;(this.noder=null,this.scaleFactor=null,this.offsetX=null,this.offsetY=null,this.isScaled=!1,2===arguments.length)?(n=arguments[0],t=arguments[1],fl.call(this,n,t,0,0)):4===arguments.length&&(i=arguments[0],r=arguments[1],arguments[2],arguments[3],this.noder=i,this.scaleFactor=r,this.isScaled=!this.isIntegerPrecision())}function el(){var n,t,i;(this.inputGeom=null,this.isClosedEndpointsInInterior=!0,this.nonSimpleLocation=null,1===arguments.length)?(n=arguments[0],this.inputGeom=n):2===arguments.length&&(t=arguments[0],i=arguments[1],this.inputGeom=t,this.isClosedEndpointsInInterior=!i.isInBoundary(2))}function ny(){this.pt=null;this.isClosed=null;this.degree=null;var n=arguments[0];this.pt=n;this.isClosed=!1;this.degree=0}function rt(){var n,t,i;if(this.quadrantSegments=rt.DEFAULT_QUADRANT_SEGMENTS,this.endCapStyle=rt.CAP_ROUND,this.joinStyle=rt.JOIN_ROUND,this.mitreLimit=rt.DEFAULT_MITRE_LIMIT,this._isSingleSided=!1,this.simplifyFactor=rt.DEFAULT_SIMPLIFY_FACTOR,0!==arguments.length)if(1===arguments.length)n=arguments[0],this.setQuadrantSegments(n);else if(2===arguments.length)t=arguments[0],i=arguments[1],this.setQuadrantSegments(t),this.setEndCapStyle(i);else if(4===arguments.length){var r=arguments[0],u=arguments[1],f=arguments[2],e=arguments[3];this.setQuadrantSegments(r);this.setEndCapStyle(u);this.setJoinStyle(f);this.setMitreLimit(e)}}function vw(){this.minIndex=-1;this.minCoord=null;this.minDe=null;this.orientedDe=null}function ty(){this.array_=[]}function yw(){this.finder=null;this.dirEdgeList=new u;this.nodes=new u;this.rightMostCoord=null;this.env=null;this.finder=new vw}function yi(){this.inputLine=null;this.distanceTol=null;this.isDeleted=null;this.angleOrientation=s.COUNTERCLOCKWISE;var n=arguments[0];this.inputLine=n}function sl(){this.ptList=null;this.precisionModel=null;this.minimimVertexDistance=0;this.ptList=new u}function cf(){this.maxCurveSegmentError=0;this.filletAngleQuantum=null;this.closingSegLengthFactor=1;this.segList=null;this.distance=0;this.precisionModel=null;this.bufParams=null;this.li=null;this.s0=null;this.s1=null;this.s2=null;this.seg0=new b;this.seg1=new b;this.offset0=new b;this.offset1=new b;this.side=0;this._hasNarrowConcaveAngle=!1;var t=arguments[0],n=arguments[1],i=arguments[2];this.precisionModel=t;this.bufParams=n;this.li=new si;this.filletAngleQuantum=Math.PI/2/n.getQuadrantSegments();n.getQuadrantSegments()>=8&&n.getJoinStyle()===rt.JOIN_ROUND&&(this.closingSegLengthFactor=cf.MAX_CLOSING_SEG_LEN_FACTOR);this.init(i)}function hl(){this.distance=0;this.precisionModel=null;this.bufParams=null;var n=arguments[0],t=arguments[1];this.precisionModel=n;this.bufParams=t}function iy(){this.subgraphs=null;this.seg=new b;this.cga=new s;var n=arguments[0];this.subgraphs=n}function ry(){this.upwardSeg=null;this.leftDepth=null;var n=arguments[0],t=arguments[1];this.upwardSeg=new b(n);this.leftDepth=t}function pw(){this.inputGeom=null;this.distance=null;this.curveBuilder=null;this.curveList=new u;var n=arguments[0],t=arguments[1],i=arguments[2];this.inputGeom=n;this.distance=t;this.curveBuilder=i}function cl(){this._hasIntersection=!1;this.hasProper=!1;this.hasProperInterior=!1;this.hasInterior=!1;this.properIntersectionPoint=null;this.li=null;this.isSelfIntersection=null;this.numIntersections=0;this.numInteriorIntersections=0;this.numProperIntersections=0;this.numTests=0;var n=arguments[0];this.li=n}function co(){this.bufParams=null;this.workingPrecisionModel=null;this.workingNoder=null;this.geomFact=null;this.graph=null;this.edgeList=new wv;var n=arguments[0];this.bufParams=n}function ll(){this.li=new si;this.segStrings=null;var n=arguments[0];this.segStrings=n}function ch(){this.li=null;this.pt=null;this.originalPt=null;this.ptScaled=null;this.p0Scaled=null;this.p1Scaled=null;this.scaleFactor=null;this.minx=null;this.maxx=null;this.miny=null;this.maxy=null;this.corner=new Array(4).fill(null);this.safeEnv=null;var n=arguments[0],t=arguments[1],i=arguments[2];if(this.originalPt=n,this.pt=n,this.scaleFactor=t,this.li=i,t<=0)throw new ft("Scale factor must be non-zero");1!==t&&(this.pt=new r(this.scale(n.x),this.scale(n.y)),this.p0Scaled=new r,this.p1Scaled=new r);this.initCorners(this.pt)}function uy(){this.index=null;var n=arguments[0];this.index=n}function al(){eo.apply(this);this.hotPixel=null;this.parentEdge=null;this.hotPixelVertexIndex=null;this._isNodeAdded=!1;var n=arguments[0],t=arguments[1],i=arguments[2];this.hotPixel=n;this.parentEdge=t;this.hotPixelVertexIndex=i}function ww(){this.li=null;this.interiorIntersections=null;var n=arguments[0];this.li=n;this.interiorIntersections=new u}function bw(){this.pm=null;this.li=null;this.scaleFactor=null;this.noder=null;this.pointSnapper=null;this.nodedSegStrings=null;var n=arguments[0];this.pm=n;this.li=new si;this.li.setPrecisionModel(n);this.scaleFactor=n.getScale()}function pi(){var n,t,i;(this.argGeom=null,this.distance=null,this.bufParams=new rt,this.resultGeometry=null,this.saveException=null,1===arguments.length)?(n=arguments[0],this.argGeom=n):2===arguments.length&&(t=arguments[0],i=arguments[1],this.argGeom=t,this.bufParams=i)}function cs(){this.comps=null;var n=arguments[0];this.comps=n}function wr(){var n,t;if(this.component=null,this.segIndex=null,this.pt=null,2===arguments.length)n=arguments[0],t=arguments[1],wr.call(this,n,wr.INSIDE_AREA,t);else if(3===arguments.length){var i=arguments[0],r=arguments[1],u=arguments[2];this.component=i;this.segIndex=r;this.pt=u}}function ls(){this.pts=null;var n=arguments[0];this.pts=n}function vl(){this.locations=null;var n=arguments[0];this.locations=n}function gu(){var n,t;if(this.geom=null,this.terminateDistance=0,this.ptLocator=new is,this.minDistanceLocation=null,this.minDistance=a.MAX_VALUE,2===arguments.length)n=arguments[0],t=arguments[1],gu.call(this,n,t,0);else if(3===arguments.length){var i=arguments[0],r=arguments[1],u=arguments[2];this.geom=new Array(2).fill(null);this.geom[0]=i;this.geom[1]=r;this.terminateDistance=u}}function kw(){this.factory=null;this.directedEdges=new u;this.coordinates=null;var n=arguments[0];this.factory=n}function lu(){this._isMarked=!1;this._isVisited=!1;this.data=null}function ru(){var n,t;lu.apply(this);this.parentEdge=null;this.from=null;this.to=null;this.p0=null;this.p1=null;this.sym=null;this.edgeDirection=null;this.quadrant=null;this.angle=null;var i=arguments[0],r=arguments[1],u=arguments[2],f=arguments[3];this.from=i;this.to=r;this.edgeDirection=f;this.p0=i.getCoordinate();this.p1=u;n=this.p1.x-this.p0.x;t=this.p1.y-this.p0.y;this.quadrant=it.quadrant(n,t);this.angle=Math.atan2(t,n)}function yl(){var n=arguments[0],t=arguments[1],i=arguments[2],r=arguments[3];ru.call(this,n,t,i,r)}function lf(){if((lu.apply(this),this.dirEdge=null,0!==arguments.length)&&2===arguments.length){var n=arguments[0],t=arguments[1];this.setDirectedEdges(n,t)}}function dw(){this.outEdges=new u;this.sorted=!1}function se(){var n,t,i;(lu.apply(this),this.pt=null,this.deStar=null,1===arguments.length)?(n=arguments[0],se.call(this,n,new dw)):2===arguments.length&&(t=arguments[0],i=arguments[1],this.pt=t,this.deStar=i)}function fy(){lf.apply(this);this.line=null;var n=arguments[0];this.line=n}function gw(){this.nodeMap=new ui}function lh(){this.edges=new ai;this.dirEdges=new ai;this.nodeMap=new gw}function ey(){lh.apply(this)}function nb(){this.graph=new ey;this.mergedLineStrings=null;this.factory=null;this.edgeStrings=null}function pl(){this.edgeRing=null;this.next=null;this.label=-1;var n=arguments[0],t=arguments[1],i=arguments[2],r=arguments[3];ru.call(this,n,t,i,r)}function oy(){lf.apply(this);this.line=null;var n=arguments[0];this.line=n}function wl(){this.geometryFactory=new g;this.geomGraph=null;this.disconnectedRingcoord=null;var n=arguments[0];this.geomGraph=n}function sy(){}function bl(){var t,n;(this.edgeEnds=new u,1===arguments.length)?(t=arguments[0],bl.call(this,null,t)):2===arguments.length&&(n=(arguments[0],arguments[1]),ef.call(this,n.getEdge(),n.getCoordinate(),n.getDirectedCoordinate(),new ii(n.getLabel())),this.insert(n))}function hy(){es.apply(this)}function cy(){var n=arguments[0],t=arguments[1];ue.call(this,n,t)}function kl(){fs.apply(this)}function tb(){this.nodes=new uh(new kl)}function ly(){this.li=new si;this.geomGraph=null;this.nodeGraph=new tb;this.invalidPoint=null;var n=arguments[0];this.geomGraph=n}function ib(){this.graph=null;this.rings=new u;this.totalEnv=new p;this.index=null;this.nestedPt=null;var n=arguments[0];this.graph=n}function tt(){var t,i,n;(this.errorType=null,this.pt=null,1===arguments.length)?(t=arguments[0],tt.call(this,t,null)):2===arguments.length&&(i=arguments[0],n=arguments[1],this.errorType=i,null!==n&&(this.pt=n.copy()))}function uu(){this.parentGeometry=null;this.isSelfTouchingRingFormingHoleValid=!1;this.validErr=null;var n=arguments[0];this.parentGeometry=n}function nf(){this.factory=null;this.deList=new u;this.lowestEdge=null;this.ring=null;this.ringPts=null;this.holes=null;this.shell=null;this._isHole=null;this._isProcessed=!1;this._isIncludedSet=!1;this._isIncluded=!1;var n=arguments[0];this.factory=n}function rb(){}function fi(){lh.apply(this);this.factory=null;var n=arguments[0];this.factory=n}function br(){if(this.lineStringAdder=new ay(this),this.graph=null,this.dangles=new u,this.cutEdges=new u,this.invalidRingLines=new u,this.holeList=null,this.shellList=null,this.polyList=null,this.isCheckingRingsValid=!0,this.extractOnlyPolygonal=null,this.geomFactory=null,0===arguments.length)br.call(this,!1);else if(1===arguments.length){var n=arguments[0];this.extractOnlyPolygonal=n}}function ay(){this.p=null;var n=arguments[0];this.p=n}function vy(){this.li=new si;this.ptLocator=new is;this.arg=null;this.nodes=new uh(new kl);this.im=null;this.isolatedEdges=new u;this.invalidPoint=null;var n=arguments[0];this.arg=n}function dl(){this.rectEnv=null;var n=arguments[0];this.rectEnv=n.getEnvelopeInternal()}function ub(){this.li=new si;this.rectEnv=null;this.diagUp0=null;this.diagUp1=null;this.diagDown0=null;this.diagDown1=null;var n=arguments[0];this.rectEnv=n;this.diagUp0=new r(n.getMinX(),n.getMinY());this.diagUp1=new r(n.getMaxX(),n.getMaxY());this.diagDown0=new r(n.getMinX(),n.getMaxY());this.diagDown1=new r(n.getMaxX(),n.getMinY())}function lo(){this._isDone=!1}function ah(){this.rectangle=null;this.rectEnv=null;var n=arguments[0];this.rectangle=n;this.rectEnv=n.getEnvelopeInternal()}function yy(){lo.apply(this);this.rectEnv=null;this._intersects=!1;var n=arguments[0];this.rectEnv=n}function py(){lo.apply(this);this.rectSeq=null;this.rectEnv=null;this._containsPoint=!1;var n=arguments[0];this.rectSeq=n.getExteriorRing().getCoordinateSequence();this.rectEnv=n.getEnvelopeInternal()}function wy(){lo.apply(this);this.rectEnv=null;this.rectIntersector=null;this.hasIntersection=!1;this.p0=new r;this.p1=new r;var n=arguments[0];this.rectEnv=n.getEnvelopeInternal();this.rectIntersector=new ub(this.rectEnv)}function ut(){var n,t;if(this._relate=null,2===arguments.length)n=arguments[0],t=arguments[1],uo.call(this,n,t),this._relate=new vy(this.arg);else if(3===arguments.length){var i=arguments[0],r=arguments[1],u=arguments[2];uo.call(this,i,r,u);this._relate=new vy(this.arg)}}function fu(){this.geomFactory=null;this.skipEmpty=!1;this.inputGeoms=null;var n=arguments[0];this.geomFactory=fu.extractFactory(n);this.inputGeoms=n}function gl(){this.pointGeom=null;this.otherGeom=null;this.geomFact=null;var t=arguments[0],n=arguments[1];this.pointGeom=t;this.otherGeom=n;this.geomFact=n.getFactory()}function ao(){this.sortIndex=-1;this.comps=null;var n=arguments[0],t=arguments[1];this.sortIndex=n;this.comps=t}function au(){this.inputPolys=null;this.geomFactory=null;var n=arguments[0];this.inputPolys=n;null===this.inputPolys&&(this.inputPolys=new u)}function vo(){var n,t,i,r;(this.polygons=new u,this.lines=new u,this.points=new u,this.geomFact=null,1===arguments.length)?l(arguments[0],yt)?(n=arguments[0],this.extract(n)):arguments[0]instanceof h&&(t=arguments[0],this.extract(t)):2===arguments.length&&(i=arguments[0],r=arguments[1],this.geomFact=r,this.extract(i))}function by(){gr.CoordinateOperation.apply(this);this.targetPM=null;this.removeCollapsed=!0;var n=arguments[0],t=arguments[1];this.targetPM=n;this.removeCollapsed=t}function as(){this.targetPM=null;this.removeCollapsed=!0;this.changePrecisionModel=!1;this.isPointwise=!1;var n=arguments[0];this.targetPM=n}function na(){this.pts=null;this.usePt=null;this.distanceTolerance=null;this.seg=new b;var n=arguments[0];this.pts=n}function vh(){this.inputGeom=null;this.distanceTolerance=null;this.isEnsureValidTopology=!0;var n=arguments[0];this.inputGeom=n}function ta(){or.apply(this);this.isEnsureValidTopology=!0;this.distanceTolerance=null;var n=arguments[0],t=arguments[1];this.isEnsureValidTopology=n;this.distanceTolerance=t}function ia(){var n,t;if(this.parent=null,this.index=null,2===arguments.length)n=arguments[0],t=arguments[1],ia.call(this,n,t,null,-1);else if(4===arguments.length){var i=arguments[0],r=arguments[1],u=arguments[2],f=arguments[3];b.call(this,i,r);this.parent=u;this.index=f}}function we(){var n,t,i;(this.parentLine=null,this.segs=null,this.resultSegs=new u,this.minimumSize=null,1===arguments.length)?(n=arguments[0],we.call(this,n,2)):2===arguments.length&&(t=arguments[0],i=arguments[1],this.parentLine=t,this.minimumSize=i,this.init())}function yh(){this.index=new ho}function fb(){this.querySeg=null;this.items=new u;var n=arguments[0];this.querySeg=n}function ra(){this.li=new si;this.inputIndex=new yh;this.outputIndex=new yh;this.line=null;this.linePts=null;this.distanceTolerance=0;var n=arguments[0],t=arguments[1];this.inputIndex=n;this.outputIndex=t}function eb(){this.inputIndex=new yh;this.outputIndex=new yh;this.distanceTolerance=0}function vs(){this.inputGeom=null;this.lineSimplifier=new eb;this.linestringMap=null;var n=arguments[0];this.inputGeom=n}function ua(){or.apply(this);this.linestringMap=null;var n=arguments[0];this.linestringMap=n}function ky(){this.tps=null;var n=arguments[0];this.tps=n}function ph(){this.seg=null;this.segLen=null;this.splitPt=null;this.minimumLen=0;var n=arguments[0];this.seg=n;this.segLen=n.getLength()}function ob(){}function fa(){}function wt(){}function ot(){var n,t,i;if(this.p=null,1===arguments.length)n=arguments[0],this.p=new r(n);else if(2===arguments.length)t=arguments[0],i=arguments[1],this.p=new r(t,i);else if(3===arguments.length){var u=arguments[0],f=arguments[1],e=arguments[2];this.p=new r(u,f,e)}}function yo(){this._isOnConstraint=null;this.constraint=null;var n=arguments[0];ot.call(this,n)}function dt(){this._rot=null;this.vertex=null;this.next=null;this.data=null}function ea(){this.subdiv=null;this.isUsingTolerance=!1;var n=arguments[0];this.subdiv=n;this.isUsingTolerance=n.getTolerance()>0}function sb(){}function dy(){this.subdiv=null;this.lastEdge=null;var n=arguments[0];this.subdiv=n;this.init()}function wh(){var i,n,r,t;(this.seg=null,1===arguments.length)?"string"==typeof arguments[0]?(i=arguments[0],li.call(this,i)):arguments[0]instanceof b&&(n=arguments[0],li.call(this,"Locate failed to converge (at edge: "+n+").  Possible causes include invalid Subdivision topology or very close sites"),this.seg=new b(n)):2===arguments.length&&(r=arguments[0],t=arguments[1],li.call(this,wh.msgWithSpatial(r,t)),this.seg=new b(t))}function bh(){}function eu(){this.visitedKey=0;this.quadEdges=new u;this.startingEdge=null;this.tolerance=null;this.edgeCoincidenceTolerance=null;this.frameVertex=new Array(3).fill(null);this.frameEnv=null;this.locator=null;this.seg=new b;this.triEdges=new Array(3).fill(null);var t=arguments[0],n=arguments[1];this.tolerance=n;this.edgeCoincidenceTolerance=n/eu.EDGE_COINCIDENCE_TOL_FACTOR;this.createFrame(t);this.startingEdge=this.initSubdiv();this.locator=new dy(this)}function gy(){}function np(){this.triList=new u}function tp(){this.triList=new u}function ip(){this.coordList=new gt;this.triCoords=new u}function ys(){var n,t;if(this.ls=null,this.data=null,2===arguments.length)n=arguments[0],t=arguments[1],this.ls=new b(n,t);else if(3===arguments.length){var i=arguments[0],u=arguments[1],f=arguments[2];this.ls=new b(i,u);this.data=f}else if(6===arguments.length){var e=arguments[0],o=arguments[1],s=arguments[2],h=arguments[3],c=arguments[4],l=arguments[5];ys.call(this,new r(e,o,s),new r(h,c,l))}else if(7===arguments.length){var a=arguments[0],v=arguments[1],y=arguments[2],p=arguments[3],w=arguments[4],k=arguments[5],d=arguments[6];ys.call(this,new r(a,v,y),new r(p,w,k),d)}}function oa(){}function rp(){var n,t;if(this.p=null,this.data=null,this.left=null,this.right=null,this.count=null,2===arguments.length)n=arguments[0],t=arguments[1],this.p=new r(n),this.left=null,this.right=null,this.count=1,this.data=t;else if(3===arguments.length){var i=arguments[0],u=arguments[1],f=arguments[2];this.p=new r(i,u);this.left=null;this.right=null;this.count=1;this.data=f}}function ps(){if(this.root=null,this.numberOfNodes=null,this.tolerance=null,0===arguments.length)ps.call(this,0);else if(1===arguments.length){var n=arguments[0];this.tolerance=n}}function up(){this.tolerance=null;this.matchNode=null;this.matchDist=0;this.p=null;var n=arguments[0],t=arguments[1];this.p=n;this.tolerance=t}function po(){this.initialVertices=null;this.segVertices=null;this.segments=new u;this.subdiv=null;this.incDel=null;this.convexHull=null;this.splitFinder=new fa;this.kdt=null;this.vertexFactory=null;this.computeAreaEnv=null;this.splitPt=null;this.tolerance=null;var t=arguments[0],n=arguments[1];this.initialVertices=new u(t);this.tolerance=n;this.kdt=new ps(n)}function di(){this.siteCoords=null;this.tolerance=0;this.subdiv=null}function kh(){this.siteCoords=null;this.constraintLines=null;this.tolerance=0;this.subdiv=null;this.constraintVertexMap=new ui}function sa(){this.siteCoords=null;this.tolerance=0;this.subdiv=null;this.clipEnv=null;this.diagramEnv=null}function ci(){var n,t,i;if(this.componentIndex=0,this.segmentIndex=0,this.segmentFraction=0,0!==arguments.length)if(1===arguments.length)n=arguments[0],this.componentIndex=n.componentIndex,this.segmentIndex=n.segmentIndex,this.segmentFraction=n.segmentFraction;else if(2===arguments.length)t=arguments[0],i=arguments[1],ci.call(this,0,t,i);else if(3===arguments.length){var r=arguments[0],u=arguments[1],f=arguments[2];this.componentIndex=r;this.segmentIndex=u;this.segmentFraction=f;this.normalize()}else if(4===arguments.length){var e=arguments[0],o=arguments[1],s=arguments[2],h=arguments[3];this.componentIndex=e;this.segmentIndex=o;this.segmentFraction=s;h&&this.normalize()}}function tf(){var i,r,n;if(this.linearGeom=null,this.numLines=null,this.currentLine=null,this.componentIndex=0,this.vertexIndex=0,1===arguments.length)i=arguments[0],tf.call(this,i,0,0);else if(2===arguments.length)r=arguments[0],n=arguments[1],tf.call(this,r,n.getComponentIndex(),tf.segmentEndVertexIndex(n));else if(3===arguments.length){var t=arguments[0],u=arguments[1],f=arguments[2];if(!l(t,fc))throw new ft("Lineal geometry is required");this.linearGeom=t;this.numLines=t.getNumGeometries();this.componentIndex=u;this.vertexIndex=f;this.loadCurrentLine()}}function he(){this.linearGeom=null;var n=arguments[0];this.linearGeom=n}function dh(){this.linearGeom=null;var n=arguments[0];this.linearGeom=n}function fp(){this.geomFact=null;this.lines=new u;this.coordList=null;this.ignoreInvalidLines=!1;this.fixInvalidLines=!1;this.lastPt=null;var n=arguments[0];this.geomFact=n}function gh(){this.line=null;var n=arguments[0];this.line=n}function ep(){this.linearGeom=null;var n=arguments[0];this.linearGeom=n;this.checkGeometryType()}function be(){this.linearGeom=null;var n=arguments[0];this.linearGeom=n}function ou(){this.linearGeom=null;var n=arguments[0];this.linearGeom=n}function hb(){this.linearGeom=null;var n=arguments[0];this.linearGeom=n}function op(){}var t,y,nc,l,ha,af,ca,vu,yf,ws,db,rf,gb,nk,tk,ik,yu,pf,rk,uk,fk,ek,ok,sk,hk,ck,lk,ak,vk,yk,pk;"fill"in Array.prototype||Object.defineProperty(Array.prototype,"fill",{configurable:!0,value:function(n){var r;if(void 0===this||null===this)throw new TypeError(this+" is not an object");var u=Object(this),i=Math.max(Math.min(u.length,9007199254740991),0)||0,t=1 in arguments?parseInt(Number(arguments[1]),10)||0:0;for(t=t<0?Math.max(i+t,0):Math.min(t,i),r=(2 in arguments)&&void 0!==arguments[2]?parseInt(Number(arguments[2]),10)||0:i,r=r<0?Math.max(i+arguments[2],0):Math.min(r,i);t<r;)u[t]=n,++t;return u},writable:!0});Number.isFinite=Number.isFinite||function(n){return"number"==typeof n&&isFinite(n)};Number.isInteger=Number.isInteger||function(n){return"number"==typeof n&&isFinite(n)&&Math.floor(n)===n};Number.parseFloat=Number.parseFloat||parseFloat;Number.isNaN=Number.isNaN||function(n){return n!==n};Math.trunc=Math.trunc||function(n){return n<0?Math.ceil(n):Math.floor(n)};t=function(n,t){for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i])};t(bs.prototype,{interfaces_:function(){return[]},getClass:function(){return bs}});bs.equalsWithTolerance=function(n,t,i){return Math.abs(n-t)<=i};a.isNaN=function(n){return Number.isNaN(n)};a.doubleToLongBits=function(n){return n};a.longBitsToDouble=function(n){return n};a.isInfinite=function(n){return!Number.isFinite(n)};a.MAX_VALUE=Number.MAX_VALUE;li.prototype=Object.create(Error.prototype);li.prototype.constructor=Error;y=function(n,t){n.prototype=Object.create(t.prototype);n.prototype.constructor=n};y(wo,li);t(wo.prototype,{interfaces_:function(){return[]},getClass:function(){return wo}});t(c.prototype,{interfaces_:function(){return[]},getClass:function(){return c}});c.shouldNeverReachHere=function(){if(0===arguments.length)c.shouldNeverReachHere(null);else if(1===arguments.length){var n=arguments[0];throw new wo("Should never reach here"+(null!==n?": "+n:""));}};c.isTrue=function(){var t,i,n;if(1===arguments.length)t=arguments[0],c.isTrue(t,null);else if(2===arguments.length&&(i=arguments[0],n=arguments[1],!i))throw null===n?new wo:new wo(n);};c.equals=function(){var n,t;if(2===arguments.length)n=arguments[0],t=arguments[1],c.equals(n,t,null);else if(3===arguments.length){var i=arguments[0],r=arguments[1],u=arguments[2];if(!r.equals(i))throw new wo("Expected "+i+" but encountered "+r+(null!==u?": "+u:""));}};t(r.prototype,{setOrdinate:function(n,t){switch(n){case r.X:this.x=t;break;case r.Y:this.y=t;break;case r.Z:this.z=t;break;default:throw new ft("Invalid ordinate index: "+n);}},equals2D:function(){var n,t,i;return 1===arguments.length?(n=arguments[0],this.x===n.x&&this.y===n.y):2===arguments.length?(t=arguments[0],i=arguments[1],!!bs.equalsWithTolerance(this.x,t.x,i)&&!!bs.equalsWithTolerance(this.y,t.y,i)):void 0},getOrdinate:function(n){switch(n){case r.X:return this.x;case r.Y:return this.y;case r.Z:return this.z}throw new ft("Invalid ordinate index: "+n);},equals3D:function(n){return this.x===n.x&&this.y===n.y&&(this.z===n.z||a.isNaN(this.z)&&a.isNaN(n.z))},equals:function(n){return n instanceof r&&this.equals2D(n)},equalInZ:function(n,t){return bs.equalsWithTolerance(this.z,n.z,t)},compareTo:function(n){var t=n;return this.x<t.x?-1:this.x>t.x?1:this.y<t.y?-1:this.y>t.y?1:0},clone:function(){try{return null}catch(n){if(n instanceof CloneNotSupportedException)return c.shouldNeverReachHere("this shouldn't happen because this class is Cloneable"),null;throw n;}},copy:function(){return new r(this)},toString:function(){return"("+this.x+", "+this.y+", "+this.z+")"},distance3D:function(n){var t=this.x-n.x,i=this.y-n.y,r=this.z-n.z;return Math.sqrt(t*t+i*i+r*r)},distance:function(n){var t=this.x-n.x,i=this.y-n.y;return Math.sqrt(t*t+i*i)},hashCode:function(){var n=17;return n=37*n+r.hashCode(this.x),n=37*n+r.hashCode(this.y)},setCoordinate:function(n){this.x=n.x;this.y=n.y;this.z=n.z},interfaces_:function(){return[ur,tc,fr]},getClass:function(){return r}});r.hashCode=function(){if(1===arguments.length){var t=arguments[0],n=a.doubleToLongBits(t);return Math.trunc(n^n>>>32)}};t(de.prototype,{compare:function(n,t){var i=n,r=t,f=de.compare(i.x,r.x),u;return 0!==f?f:(u=de.compare(i.y,r.y),0!==u?u:this.dimensionsToTest<=2?0:de.compare(i.z,r.z))},interfaces_:function(){return[ke]},getClass:function(){return de}});de.compare=function(n,t){return n<t?-1:n>t?1:a.isNaN(n)?a.isNaN(t)?0:-1:a.isNaN(t)?1:0};r.DimensionalComparator=de;r.serialVersionUID=0x5cbf2c235c7e5800;r.NULL_ORDINATE=a.NaN;r.X=0;r.Y=1;r.Z=2;ic.prototype.hasNext=function(){};ic.prototype.next=function(){};ic.prototype.remove=function(){};yt.prototype.add=function(){};yt.prototype.addAll=function(){};yt.prototype.isEmpty=function(){};yt.prototype.iterator=function(){};yt.prototype.size=function(){};yt.prototype.toArray=function(){};yt.prototype.remove=function(){};sp.prototype=new Error;sp.prototype.name="IndexOutOfBoundsException";ei.prototype=Object.create(yt.prototype);ei.prototype.constructor=ei;ei.prototype.get=function(){};ei.prototype.set=function(){};ei.prototype.isEmpty=function(){};ks.prototype=new Error;ks.prototype.name="NoSuchElementException";rc.prototype=new Error;rc.prototype.name="OperationNotSupported";u.prototype=Object.create(ei.prototype);u.prototype.constructor=u;u.prototype.ensureCapacity=function(){};u.prototype.interfaces_=function(){return[ei,yt]};u.prototype.add=function(n){return 1===arguments.length?this.array_.push(n):this.array_.splice(arguments[0],arguments[1]),!0};u.prototype.clear=function(){this.array_=[]};u.prototype.addAll=function(n){for(var t=n.iterator();t.hasNext();)this.add(t.next());return!0};u.prototype.set=function(n,t){var i=this.array_[n];return this.array_[n]=t,i};u.prototype.iterator=function(){return new nc(this)};u.prototype.get=function(n){if(n<0||n>=this.size())throw new sp;return this.array_[n]};u.prototype.isEmpty=function(){return 0===this.array_.length};u.prototype.size=function(){return this.array_.length};u.prototype.toArray=function(){for(var t=[],n=0,i=this.array_.length;n<i;n++)t.push(this.array_[n]);return t};u.prototype.remove=function(n){for(var i=!1,t=0,r=this.array_.length;t<r;t++)if(this.array_[t]===n){this.array_.splice(t,1);i=!0;break}return i};nc=function(n){this.arrayList_=n;this.position_=0};nc.prototype.next=function(){if(this.position_===this.arrayList_.size())throw new ks;return this.arrayList_.get(this.position_++)};nc.prototype.hasNext=function(){return this.position_<this.arrayList_.size()};nc.prototype.set=function(n){return this.arrayList_.set(this.position_-1,n)};nc.prototype.remove=function(){this.arrayList_.remove(this.arrayList_.get(this.position_))};y(gt,u);t(gt.prototype,{getCoordinate:function(n){return this.get(n)},addAll:function(){if(2===arguments.length){for(var i=arguments[0],r=arguments[1],n=!1,t=i.iterator();t.hasNext();)this.add(t.next(),r),n=!0;return n}return u.prototype.addAll.apply(this,arguments)},clone:function(){for(var t=u.prototype.clone.call(this),n=0;n<this.size();n++)t.add(n,this.get(n).copy());return t},toCoordinateArray:function(){return this.toArray(gt.coordArrayType)},add:function(){var s,h,c,f,l,a,v,y,o,w,b,n;if(1===arguments.length)s=arguments[0],u.prototype.add.call(this,s);else if(2===arguments.length){if(arguments[0]instanceof Array&&"boolean"==typeof arguments[1])return h=arguments[0],c=arguments[1],this.add(h,c,!0),!0;if(arguments[0]instanceof r&&"boolean"==typeof arguments[1]){if(f=arguments[0],l=arguments[1],!l&&this.size()>=1&&(a=this.get(this.size()-1),a.equals2D(f)))return null;u.prototype.add.call(this,f)}else if(arguments[0]instanceof Object&&"boolean"==typeof arguments[1])return v=arguments[0],y=arguments[1],this.add(v,y),!0}else if(3===arguments.length){if("boolean"==typeof arguments[2]&&arguments[0]instanceof Array&&"boolean"==typeof arguments[1]){var i=arguments[0],p=arguments[1],nt=arguments[2];if(nt)for(n=0;n<i.length;n++)this.add(i[n],p);else for(n=i.length-1;n>=0;n--)this.add(i[n],p);return!0}if("boolean"==typeof arguments[2]&&Number.isInteger(arguments[0])&&arguments[1]instanceof r){var t=arguments[0],e=arguments[1],tt=arguments[2];if(!tt&&(o=this.size(),o>0&&(t>0&&(w=this.get(t-1),w.equals2D(e))||t<o&&(b=this.get(t),b.equals2D(e)))))return null;u.prototype.add.call(this,t,e)}}else if(4===arguments.length){var it=arguments[0],rt=arguments[1],k=arguments[2],d=arguments[3],g=1;for(k>d&&(g=-1),n=k;n!==d;n+=g)this.add(it[n],rt);return!0}},closeRing:function(){this.size()>0&&this.add(new r(this.get(0)),!1)},interfaces_:function(){return[]},getClass:function(){return gt}});gt.coordArrayType=new Array(0).fill(null);t(p.prototype,{getArea:function(){return this.getWidth()*this.getHeight()},equals:function(n){if(!(n instanceof p))return!1;var t=n;return this.isNull()?t.isNull():this.maxx===t.getMaxX()&&this.maxy===t.getMaxY()&&this.minx===t.getMinX()&&this.miny===t.getMinY()},intersection:function(n){if(this.isNull()||n.isNull()||!this.intersects(n))return new p;var t=this.minx>n.minx?this.minx:n.minx,i=this.miny>n.miny?this.miny:n.miny;return new p(t,this.maxx<n.maxx?this.maxx:n.maxx,i,this.maxy<n.maxy?this.maxy:n.maxy)},isNull:function(){return this.maxx<this.minx},getMaxX:function(){return this.maxx},covers:function(){var t,n,i,u;if(1===arguments.length){if(arguments[0]instanceof r)return t=arguments[0],this.covers(t.x,t.y);if(arguments[0]instanceof p)return n=arguments[0],!this.isNull()&&!n.isNull()&&n.getMinX()>=this.minx&&n.getMaxX()<=this.maxx&&n.getMinY()>=this.miny&&n.getMaxY()<=this.maxy}else if(2===arguments.length)return i=arguments[0],u=arguments[1],!this.isNull()&&i>=this.minx&&i<=this.maxx&&u>=this.miny&&u<=this.maxy},intersects:function(){var n,t,i,u;if(1===arguments.length){if(arguments[0]instanceof p)return n=arguments[0],!this.isNull()&&!n.isNull()&&!(n.minx>this.maxx||n.maxx<this.minx||n.miny>this.maxy||n.maxy<this.miny);if(arguments[0]instanceof r)return t=arguments[0],this.intersects(t.x,t.y)}else if(2===arguments.length)return i=arguments[0],u=arguments[1],!this.isNull()&&!(i>this.maxx||i<this.minx||u>this.maxy||u<this.miny)},getMinY:function(){return this.miny},getMinX:function(){return this.minx},expandToInclude:function(){var u,n,t,i;if(1===arguments.length){if(arguments[0]instanceof r)u=arguments[0],this.expandToInclude(u.x,u.y);else if(arguments[0]instanceof p){if(n=arguments[0],n.isNull())return null;this.isNull()?(this.minx=n.getMinX(),this.maxx=n.getMaxX(),this.miny=n.getMinY(),this.maxy=n.getMaxY()):(n.minx<this.minx&&(this.minx=n.minx),n.maxx>this.maxx&&(this.maxx=n.maxx),n.miny<this.miny&&(this.miny=n.miny),n.maxy>this.maxy&&(this.maxy=n.maxy))}}else 2===arguments.length&&(t=arguments[0],i=arguments[1],this.isNull()?(this.minx=t,this.maxx=t,this.miny=i,this.maxy=i):(t<this.minx&&(this.minx=t),t>this.maxx&&(this.maxx=t),i<this.miny&&(this.miny=i),i>this.maxy&&(this.maxy=i)))},minExtent:function(){if(this.isNull())return 0;var n=this.getWidth(),t=this.getHeight();return n<t?n:t},getWidth:function(){return this.isNull()?0:this.maxx-this.minx},compareTo:function(n){var t=n;return this.isNull()?t.isNull()?0:-1:t.isNull()?1:this.minx<t.minx?-1:this.minx>t.minx?1:this.miny<t.miny?-1:this.miny>t.miny?1:this.maxx<t.maxx?-1:this.maxx>t.maxx?1:this.maxy<t.maxy?-1:this.maxy>t.maxy?1:0},translate:function(n,t){if(this.isNull())return null;this.init(this.getMinX()+n,this.getMaxX()+n,this.getMinY()+t,this.getMaxY()+t)},toString:function(){return"Env["+this.minx+" : "+this.maxx+", "+this.miny+" : "+this.maxy+"]"},setToNull:function(){this.minx=0;this.maxx=-1;this.miny=0;this.maxy=-1},getHeight:function(){return this.isNull()?0:this.maxy-this.miny},maxExtent:function(){if(this.isNull())return 0;var n=this.getWidth(),t=this.getHeight();return n>t?n:t},expandBy:function(){var n,t,i;if(1===arguments.length)n=arguments[0],this.expandBy(n,n);else if(2===arguments.length){if(t=arguments[0],i=arguments[1],this.isNull())return null;this.minx-=t;this.maxx+=t;this.miny-=i;this.maxy+=i;(this.minx>this.maxx||this.miny>this.maxy)&&this.setToNull()}},contains:function(){var n,t,i,u;if(1===arguments.length){if(arguments[0]instanceof p)return n=arguments[0],this.covers(n);if(arguments[0]instanceof r)return t=arguments[0],this.covers(t)}else if(2===arguments.length)return i=arguments[0],u=arguments[1],this.covers(i,u)},centre:function(){return this.isNull()?null:new r((this.getMinX()+this.getMaxX())/2,(this.getMinY()+this.getMaxY())/2)},init:function(){var n,t,i,u;if(0===arguments.length)this.setToNull();else if(1===arguments.length)arguments[0]instanceof r?(n=arguments[0],this.init(n.x,n.x,n.y,n.y)):arguments[0]instanceof p&&(t=arguments[0],this.minx=t.minx,this.maxx=t.maxx,this.miny=t.miny,this.maxy=t.maxy);else if(2===arguments.length)i=arguments[0],u=arguments[1],this.init(i.x,u.x,i.y,u.y);else if(4===arguments.length){var f=arguments[0],e=arguments[1],o=arguments[2],s=arguments[3];f<e?(this.minx=f,this.maxx=e):(this.minx=e,this.maxx=f);o<s?(this.miny=o,this.maxy=s):(this.miny=s,this.maxy=o)}},getMaxY:function(){return this.maxy},distance:function(n){var t,i;return this.intersects(n)?0:(t=0,this.maxx<n.minx?t=n.minx-this.maxx:this.minx>n.maxx&&(t=this.minx-n.maxx),i=0,this.maxy<n.miny?i=n.miny-this.maxy:this.miny>n.maxy&&(i=this.miny-n.maxy),0===t?i:0===i?t:Math.sqrt(t*t+i*i))},hashCode:function(){var n=17;return n=37*n+r.hashCode(this.minx),n=37*n+r.hashCode(this.maxx),n=37*n+r.hashCode(this.miny),n=37*n+r.hashCode(this.maxy)},interfaces_:function(){return[ur,fr]},getClass:function(){return p}});p.intersects=function(){if(3===arguments.length){var n=arguments[0],t=arguments[1],i=arguments[2];return i.x>=(n.x<t.x?n.x:t.x)&&i.x<=(n.x>t.x?n.x:t.x)&&i.y>=(n.y<t.y?n.y:t.y)&&i.y<=(n.y>t.y?n.y:t.y)}if(4===arguments.length){var r=arguments[0],u=arguments[1],f=arguments[2],e=arguments[3],o=Math.min(f.x,e.x),s=Math.max(f.x,e.x),h=Math.min(r.x,u.x),c=Math.max(r.x,u.x);return!(h>s)&&!(c<o)&&(o=Math.min(f.y,e.y),s=Math.max(f.y,e.y),h=Math.min(r.y,u.y),c=Math.max(r.y,u.y),!(h>s)&&!(c<o))}};p.serialVersionUID=0x51845cd552189800;y(wf,la);t(wf.prototype,{interfaces_:function(){return[]},getClass:function(){return wf}});t(i.prototype,{interfaces_:function(){return[]},getClass:function(){return i}});i.toLocationSymbol=function(n){switch(n){case i.EXTERIOR:return"e";case i.BOUNDARY:return"b";case i.INTERIOR:return"i";case i.NONE:return"-"}throw new ft("Unknown location value: "+n);};i.INTERIOR=0;i.BOUNDARY=1;i.EXTERIOR=2;i.NONE=-1;l=function(n,t){return n.interfaces_&&n.interfaces_().indexOf(t)>-1};t(kr.prototype,{interfaces_:function(){return[]},getClass:function(){return kr}});kr.log10=function(n){var t=Math.log(n);return a.isInfinite(t)?t:a.isNaN(t)?t:t/kr.LOG_10};kr.min=function(n,t,i,r){var u=n;return t<u&&(u=t),i<u&&(u=i),r<u&&(u=r),u};kr.clamp=function(){if("number"==typeof arguments[2]&&"number"==typeof arguments[0]&&"number"==typeof arguments[1]){var n=arguments[0],i=arguments[1],r=arguments[2];return n<i?i:n>r?r:n}if(Number.isInteger(arguments[2])&&Number.isInteger(arguments[0])&&Number.isInteger(arguments[1])){var t=arguments[0],u=arguments[1],f=arguments[2];return t<u?u:t>f?f:t}};kr.wrap=function(n,t){return n<0?t- -n%t:n%t};kr.max=function(){if(3===arguments.length){var e=arguments[0],t=arguments[1],i=arguments[2],n=e;return t>n&&(n=t),i>n&&(n=i),n}if(4===arguments.length){var o=arguments[0],r=arguments[1],u=arguments[2],f=arguments[3],n=o;return r>n&&(n=r),u>n&&(n=u),f>n&&(n=f),n}};kr.average=function(n,t){return(n+t)/2};kr.LOG_10=Math.log(10);su.prototype.append=function(n){this.str+=n};su.prototype.setCharAt=function(n,t){this.str=this.str.substr(0,n)+t+this.str.substr(n+1)};su.prototype.toString=function(){return this.str};pu.prototype.intValue=function(){return this.value};pu.prototype.compareTo=function(n){return this.value<n?-1:this.value>n?1:0};pu.isNaN=function(n){return Number.isNaN(n)};uc.isWhitespace=function(n){return n<=32&&n>=0||127==n};uc.toUpperCase=function(n){return n.toUpperCase()};t(f.prototype,{le:function(n){return this.hi<n.hi||this.hi===n.hi&&this.lo<=n.lo},extractSignificantDigits:function(n,t){var i=this.abs(),r=f.magnitude(i.hi),v=f.TEN.pow(r),u,h,o,c,l;i=i.divide(v);i.gt(f.TEN)?(i=i.divide(f.TEN),r+=1):i.lt(f.ONE)&&(i=i.multiply(f.TEN),r-=1);for(var y=r+1,s=new su,a=f.MAX_PRINT_DIGITS-1,e=0;e<=a;e++){if(n&&e===y&&s.append("."),u=Math.trunc(i.hi),u<0)break;if(h=!1,o=0,u>9?(h=!0,o="9"):o="0"+u,s.append(o),i=i.subtract(f.valueOf(u)).multiply(f.TEN),h&&i.selfAdd(f.TEN),c=!0,l=f.magnitude(i.hi),l<0&&Math.abs(l)>=a-e&&(c=!1),!c)break}return t[0]=r,s.toString()},sqr:function(){return this.multiply(this)},doubleValue:function(){return this.hi+this.lo},subtract:function(){var n,t;return arguments[0]instanceof f?(n=arguments[0],this.add(n.negate())):"number"==typeof arguments[0]?(t=arguments[0],this.add(-t)):void 0},equals:function(){if(1===arguments.length){var n=arguments[0];return this.hi===n.hi&&this.lo===n.lo}},isZero:function(){return 0===this.hi&&0===this.lo},selfSubtract:function(){var n,t;return arguments[0]instanceof f?(n=arguments[0],this.isNaN()?this:this.selfAdd(-n.hi,-n.lo)):"number"==typeof arguments[0]?(t=arguments[0],this.isNaN()?this:this.selfAdd(-t,0)):void 0},getSpecialNumberString:function(){return this.isZero()?"0.0":this.isNaN()?"NaN ":null},min:function(n){return this.le(n)?this:n},selfDivide:function(){var o,l;if(1===arguments.length){if(arguments[0]instanceof f)return o=arguments[0],this.selfDivide(o.hi,o.lo);if("number"==typeof arguments[0])return l=arguments[0],this.selfDivide(l,0)}else if(2===arguments.length){var i=arguments[0],a=arguments[1],r=null,s=null,u=null,h=null,n=null,e=null,c=null,t=null;return n=this.hi/i,e=f.SPLIT*n,r=e-n,t=f.SPLIT*i,r=e-r,s=n-r,u=t-i,c=n*i,u=t-u,h=i-u,t=r*u-c+r*h+s*u+s*h,e=(this.hi-c-t+this.lo-n*a)/i,t=n+e,this.hi=t,this.lo=n-t+e,this}},dump:function(){return"DD<"+this.hi+", "+this.lo+">"},divide:function(){var c;if(arguments[0]instanceof f){var i=arguments[0],r=null,o=null,u=null,s=null,n=null,e=null,h=null,t=null;return n=this.hi/i.hi,e=f.SPLIT*n,r=e-n,t=f.SPLIT*i.hi,r=e-r,o=n-r,u=t-i.hi,h=n*i.hi,u=t-u,s=i.hi-u,t=r*u-h+r*s+o*u+o*s,e=(this.hi-h-t+this.lo-n*i.lo)/i.hi,t=n+e,new f(t,n-t+e)}if("number"==typeof arguments[0])return c=arguments[0],a.isNaN(c)?f.createNaN():f.copy(this).selfDivide(c,0)},ge:function(n){return this.hi>n.hi||this.hi===n.hi&&this.lo>=n.lo},pow:function(n){if(0===n)return f.valueOf(1);var t=new f(this),i=f.valueOf(1),r=Math.abs(n);if(r>1)for(;r>0;)r%2==1&&i.selfMultiply(t),(r/=2)>0&&(t=t.sqr());else i=t;return n<0?i.reciprocal():i},ceil:function(){if(this.isNaN())return f.NaN;var n=Math.ceil(this.hi),t=0;return n===this.hi&&(t=Math.ceil(this.lo)),new f(n,t)},compareTo:function(n){var t=n;return this.hi<t.hi?-1:this.hi>t.hi?1:this.lo<t.lo?-1:this.lo>t.lo?1:0},rint:function(){return this.isNaN()?this:this.add(.5).floor()},setValue:function(){var n,t;return arguments[0]instanceof f?(n=arguments[0],this.init(n),this):"number"==typeof arguments[0]?(t=arguments[0],this.init(t),this):void 0},max:function(n){return this.ge(n)?this:n},sqrt:function(){if(this.isZero())return f.valueOf(0);if(this.isNegative())return f.NaN;var n=1/Math.sqrt(this.hi),i=this.hi*n,t=f.valueOf(i),r=this.subtract(t.sqr()),u=r.hi*.5*n;return t.add(u)},selfAdd:function(){var h,c,y;if(1===arguments.length){if(arguments[0]instanceof f)return h=arguments[0],this.selfAdd(h.hi,h.lo);if("number"==typeof arguments[0]){var l=arguments[0],i=null,e=null,t=null,r=null,n=null,u=null;return t=this.hi+l,n=t-this.hi,r=t-n,r=l-n+(this.hi-r),u=r+this.lo,i=t+u,e=u+(t-i),this.hi=i+e,this.lo=e+(i-this.hi),this}}else if(2===arguments.length){var a=arguments[0],v=arguments[1],i=null,e=null,o=null,s=null,t=null,r=null,n=null,u=null;return t=this.hi+a,o=this.lo+v,n=t-this.hi,u=o-this.lo,r=t-n,s=o-u,r=a-n+(this.hi-r),s=v-u+(this.lo-s),n=r+o,i=t+n,e=n+(t-i),n=s+e,c=i+n,y=n+(i-c),this.hi=c,this.lo=y,this}},selfMultiply:function(){var e,c,h,l;if(1===arguments.length){if(arguments[0]instanceof f)return e=arguments[0],this.selfMultiply(e.hi,e.lo);if("number"==typeof arguments[0])return c=arguments[0],this.selfMultiply(c,0)}else if(2===arguments.length){var u=arguments[0],a=arguments[1],n=null,o=null,i=null,s=null,t=null,r=null;return t=f.SPLIT*this.hi,n=t-this.hi,r=f.SPLIT*u,n=t-n,o=this.hi-n,i=r-u,t=this.hi*u,i=r-i,s=u-i,r=n*i-t+n*s+o*i+o*s+(this.hi*a+this.lo*u),h=t+r,n=t-h,l=r+n,this.hi=h,this.lo=l,this}},selfSqr:function(){return this.selfMultiply(this)},floor:function(){if(this.isNaN())return f.NaN;var n=Math.floor(this.hi),t=0;return n===this.hi&&(t=Math.floor(this.lo)),new f(n,t)},negate:function(){return this.isNaN()?this:new f(-this.hi,-this.lo)},clone:function(){try{return null}catch(n){if(n instanceof CloneNotSupportedException)return null;throw n;}},multiply:function(){var n,t;return arguments[0]instanceof f?(n=arguments[0],n.isNaN()?f.createNaN():f.copy(this).selfMultiply(n)):"number"==typeof arguments[0]?(t=arguments[0],a.isNaN(t)?f.createNaN():f.copy(this).selfMultiply(t,0)):void 0},isNaN:function(){return a.isNaN(this.hi)},intValue:function(){return Math.trunc(this.hi)},toString:function(){var n=f.magnitude(this.hi);return n>=-3&&n<=20?this.toStandardNotation():this.toSciNotation()},toStandardNotation:function(){var r=this.getSpecialNumberString(),e,o;if(null!==r)return r;var u=new Array(1).fill(null),n=this.extractSignificantDigits(!0,u),i=u[0]+1,t=n;return"."===n.charAt(0)?t="0"+n:i<0?t="0."+f.stringOfChar("0",-i)+n:-1===n.indexOf(".")&&(e=i-n.length,o=f.stringOfChar("0",e),t=n+o+".0"),this.isNegative()?"-"+t:t},reciprocal:function(){var t=null,e=null,i=null,o=null,n=null,r=null,s=null,u=null,h;return n=1/this.hi,r=f.SPLIT*n,t=r-n,u=f.SPLIT*this.hi,t=r-t,e=n-t,i=u-this.hi,s=n*this.hi,i=u-i,o=this.hi-i,u=t*i-s+t*o+e*i+e*o,r=(1-s-u-n*this.lo)/this.hi,h=n+r,new f(h,n-h+r)},toSciNotation:function(){var t,i,r;if(this.isZero())return f.SCI_NOT_ZERO;if(t=this.getSpecialNumberString(),null!==t)return t;var u=new Array(1).fill(null),n=this.extractSignificantDigits(!1,u),e=f.SCI_NOT_EXPONENT_CHAR+u[0];if("0"===n.charAt(0))throw new IllegalStateException("Found leading zero: "+n);return i="",n.length>1&&(i=n.substring(1)),r=n.charAt(0)+"."+i,this.isNegative()?"-"+r+e:r+e},abs:function(){return this.isNaN()?f.NaN:this.isNegative()?this.negate():new f(this)},isPositive:function(){return this.hi>0||0===this.hi&&this.lo>0},lt:function(n){return this.hi<n.hi||this.hi===n.hi&&this.lo<n.lo},add:function(){var n,t;return arguments[0]instanceof f?(n=arguments[0],f.copy(this).selfAdd(n)):"number"==typeof arguments[0]?(t=arguments[0],f.copy(this).selfAdd(t)):void 0},init:function(){var t,n,i,r;1===arguments.length?"number"==typeof arguments[0]?(t=arguments[0],this.hi=t,this.lo=0):arguments[0]instanceof f&&(n=arguments[0],this.hi=n.hi,this.lo=n.lo):2===arguments.length&&(i=arguments[0],r=arguments[1],this.hi=i,this.lo=r)},gt:function(n){return this.hi>n.hi||this.hi===n.hi&&this.lo>n.lo},isNegative:function(){return this.hi<0||0===this.hi&&this.lo<0},trunc:function(){return this.isNaN()?f.NaN:this.isPositive()?this.floor():this.ceil()},signum:function(){return this.hi>0?1:this.hi<0?-1:this.lo>0?1:this.lo<0?-1:0},interfaces_:function(){return[fr,ur,tc]},getClass:function(){return f}});f.sqr=function(n){return f.valueOf(n).selfMultiply(n)};f.valueOf=function(){if("string"==typeof arguments[0]){var n=arguments[0];return f.parse(n)}if("number"==typeof arguments[0])return new f(arguments[0])};f.sqrt=function(n){return f.valueOf(n).sqrt()};f.parse=function(n){for(var c,s,i,p,a,u,e,o,t=0,h=n.length;uc.isWhitespace(n.charAt(t));)t++;c=!1;t<h&&(s=n.charAt(t),"-"!==s&&"+"!==s||(t++,"-"===s&&(c=!0)));for(var r=new f,l=0,v=0,y=0;;){if(t>=h)break;if(i=n.charAt(t),t++,uc.isDigit(i))p=i-"0",r.selfMultiply(f.TEN),r.selfAdd(p),l++;else{if("."!==i){if("e"===i||"E"===i){a=n.substring(t);try{y=pu.parseInt(a)}catch(t){throw t instanceof NumberFormatException?new NumberFormatException("Invalid exponent "+a+" in string "+n):t;}break}throw new NumberFormatException("Unexpected character '"+i+"' at position "+t+" in string "+n);}v=l}}return u=r,e=l-v-y,0===e?u=r:e>0?(o=f.TEN.pow(e),u=r.divide(o)):e<0&&(o=f.TEN.pow(-e),u=r.multiply(o)),c?u.negate():u};f.createNaN=function(){return new f(a.NaN,a.NaN)};f.copy=function(n){return new f(n)};f.magnitude=function(n){var i=Math.abs(n),r=Math.log(i)/Math.log(10),t=Math.trunc(Math.floor(r));return 10*Math.pow(10,t)<=i&&(t+=1),t};f.stringOfChar=function(n,t){for(var i=new su,r=0;r<t;r++)i.append(n);return i.toString()};f.PI=new f(3.1415926535897931,12246467991473532e-32);f.TWO_PI=new f(6.2831853071795862,24492935982947064e-32);f.PI_2=new f(1.5707963267948966,6123233995736766e-32);f.E=new f(2.7182818284590451,14456468917292502e-32);f.NaN=new f(a.NaN,a.NaN);f.EPS=123259516440783e-46;f.SPLIT=134217729;f.MAX_PRINT_DIGITS=32;f.TEN=f.valueOf(10);f.ONE=f.valueOf(1);f.SCI_NOT_EXPONENT_CHAR="E";f.SCI_NOT_ZERO="0.0E0";t(er.prototype,{interfaces_:function(){return[]},getClass:function(){return er}});er.orientationIndex=function(n,t,i){var r=er.orientationIndexFilter(n,t,i);if(r<=1)return r;var u=f.valueOf(t.x).selfAdd(-n.x),e=f.valueOf(t.y).selfAdd(-n.y),o=f.valueOf(i.x).selfAdd(-t.x),s=f.valueOf(i.y).selfAdd(-t.y);return u.selfMultiply(s).selfSubtract(e.selfMultiply(o)).signum()};er.signOfDet2x2=function(n,t,i,r){return n.multiply(r).selfSubtract(t.multiply(i)).signum()};er.intersection=function(n,t,i,u){var o=f.valueOf(u.y).selfSubtract(i.y).selfMultiply(f.valueOf(t.x).selfSubtract(n.x)),s=f.valueOf(u.x).selfSubtract(i.x).selfMultiply(f.valueOf(t.y).selfSubtract(n.y)),e=o.subtract(s),h=f.valueOf(u.x).selfSubtract(i.x).selfMultiply(f.valueOf(n.y).selfSubtract(i.y)),c=f.valueOf(u.y).selfSubtract(i.y).selfMultiply(f.valueOf(n.x).selfSubtract(i.x)),l=h.subtract(c),a=l.selfDivide(e).doubleValue(),v=f.valueOf(n.x).selfAdd(f.valueOf(t.x).selfSubtract(n.x).selfMultiply(a)).doubleValue(),y=f.valueOf(t.x).selfSubtract(n.x).selfMultiply(f.valueOf(n.y).selfSubtract(i.y)),p=f.valueOf(t.y).selfSubtract(n.y).selfMultiply(f.valueOf(n.x).selfSubtract(i.x)),w=y.subtract(p),b=w.selfDivide(e).doubleValue();return new r(v,f.valueOf(i.y).selfAdd(f.valueOf(u.y).selfSubtract(i.y).selfMultiply(b)).doubleValue())};er.orientationIndexFilter=function(n,t,i){var e=null,r=(n.x-i.x)*(t.y-i.y),u=(n.y-i.y)*(t.x-i.x),f=r-u,o;if(r>0){if(u<=0)return er.signum(f);e=r+u}else{if(!(r<0)||u>=0)return er.signum(f);e=-r-u}return o=er.DP_SAFE_EPSILON*e,f>=o||-f>=o?er.signum(f):2};er.signum=function(n){return n>0?1:n<0?-1:0};er.DP_SAFE_EPSILON=1e-15;t(lt.prototype,{setOrdinate:function(){},size:function(){},getOrdinate:function(){},getCoordinate:function(){1===arguments.length?arguments[0]:2===arguments.length&&(arguments[0],arguments[1])},getCoordinateCopy:function(){},getDimension:function(){},getX:function(){},clone:function(){},expandEnvelope:function(){},copy:function(){},getY:function(){},toCoordinateArray:function(){},interfaces_:function(){return[tc]},getClass:function(){return lt}});lt.X=0;lt.Y=1;lt.Z=2;lt.M=3;pt.arraycopy=function(n,t,i,r,u){for(var e=0,f=t;f<t+u;f++)i[r+e]=n[f],e++};pt.getProperty=function(n){return{"line.separator":"\n"}[n]};t(lr.prototype,{getY:function(){var n=this.y/this.w;if(a.isNaN(n)||a.isInfinite(n))throw new wf;return n},getX:function(){var n=this.x/this.w;if(a.isNaN(n)||a.isInfinite(n))throw new wf;return n},getCoordinate:function(){var n=new r;return n.x=this.getX(),n.y=this.getY(),n},interfaces_:function(){return[]},getClass:function(){return lr}});lr.intersection=function(n,t,i,u){var o=n.y-t.y,s=t.x-n.x,h=n.x*t.y-t.x*n.y,c=i.y-u.y,l=u.x-i.x,v=i.x*u.y-u.x*i.y,p=s*v-l*h,w=c*h-o*v,y=o*l-c*s,f=p/y,e=w/y;if(a.isNaN(f)||a.isInfinite(f)||a.isNaN(e)||a.isInfinite(e))throw new wf;return new r(f,e)};t(aa.prototype,{create:function(){1===arguments.length?arguments[0]instanceof Array?arguments[0]:l(arguments[0],lt)&&arguments[0]:2===arguments.length&&(arguments[0],arguments[1])},interfaces_:function(){return[]},getClass:function(){return aa}});t(wu.prototype,{filter:function(){},interfaces_:function(){return[]},getClass:function(){return wu}});t(h.prototype,{isGeometryCollection:function(){return this.getSortIndex()===h.SORTINDEX_GEOMETRYCOLLECTION},getFactory:function(){return this.factory},getGeometryN:function(){return this},getArea:function(){return 0},isRectangle:function(){return!1},equals:function(){var n,t,i;if(1===arguments.length){if(arguments[0]instanceof h)return n=arguments[0],null!==n&&this.equalsTopo(n);if(arguments[0]instanceof Object)return(t=arguments[0],!(t instanceof h))?!1:(i=t,this.equalsExact(i))}},equalsExact:function(n){return this===n||this.equalsExact(n,0)},geometryChanged:function(){this.apply(h.geometryChangedFilter)},geometryChangedAction:function(){this.envelope=null},equalsNorm:function(n){return null!==n&&this.norm().equalsExact(n.norm())},getLength:function(){return 0},getNumGeometries:function(){return 1},compareTo:function(){var t,n;if(1===arguments.length)return t=arguments[0],n=t,this.getSortIndex()!==n.getSortIndex()?this.getSortIndex()-n.getSortIndex():this.isEmpty()&&n.isEmpty()?0:this.isEmpty()?-1:n.isEmpty()?1:this.compareToSameClass(t);if(2===arguments.length){var i=arguments[0],r=arguments[1],n=i;return this.getSortIndex()!==n.getSortIndex()?this.getSortIndex()-n.getSortIndex():this.isEmpty()&&n.isEmpty()?0:this.isEmpty()?-1:n.isEmpty()?1:this.compareToSameClass(i,r)}},getUserData:function(){return this.userData},getSRID:function(){return this.SRID},getEnvelope:function(){return this.getFactory().toGeometry(this.getEnvelopeInternal())},checkNotGeometryCollection:function(n){if(n.getSortIndex()===h.SORTINDEX_GEOMETRYCOLLECTION)throw new ft("This method does not support GeometryCollection arguments");},equal:function(n,t,i){return 0===i?n.equals(t):n.distance(t)<=i},norm:function(){var n=this.copy();return n.normalize(),n},getPrecisionModel:function(){return this.factory.getPrecisionModel()},getEnvelopeInternal:function(){return null===this.envelope&&(this.envelope=this.computeEnvelopeInternal()),new p(this.envelope)},setSRID:function(n){this.SRID=n},setUserData:function(n){this.userData=n},compare:function(n,t){for(var i=n.iterator(),r=t.iterator();i.hasNext()&&r.hasNext();){var f=i.next(),e=r.next(),u=f.compareTo(e);if(0!==u)return u}return i.hasNext()?1:r.hasNext()?-1:0},hashCode:function(){return this.getEnvelopeInternal().hashCode()},isGeometryCollectionOrDerived:function(){return this.getSortIndex()===h.SORTINDEX_GEOMETRYCOLLECTION||this.getSortIndex()===h.SORTINDEX_MULTIPOINT||this.getSortIndex()===h.SORTINDEX_MULTILINESTRING||this.getSortIndex()===h.SORTINDEX_MULTIPOLYGON},interfaces_:function(){return[tc,ur,fr]},getClass:function(){return h}});h.hasNonEmptyElements=function(n){for(var t=0;t<n.length;t++)if(!n[t].isEmpty())return!0;return!1};h.hasNullElements=function(n){for(var t=0;t<n.length;t++)if(null===n[t])return!0;return!1};h.serialVersionUID=0x799ea46522854c00;h.SORTINDEX_POINT=0;h.SORTINDEX_MULTIPOINT=1;h.SORTINDEX_LINESTRING=2;h.SORTINDEX_LINEARRING=3;h.SORTINDEX_MULTILINESTRING=4;h.SORTINDEX_POLYGON=5;h.SORTINDEX_MULTIPOLYGON=6;h.SORTINDEX_GEOMETRYCOLLECTION=7;h.geometryChangedFilter={interfaces_:function(){return[wu]},filter:function(n){n.geometryChangedAction()}};t(ge.prototype,{filter:function(){},interfaces_:function(){return[]},getClass:function(){return ge}});t(oi.prototype,{isInBoundary:function(){},interfaces_:function(){return[]},getClass:function(){return oi}});t(va.prototype,{isInBoundary:function(n){return n%2==1},interfaces_:function(){return[oi]},getClass:function(){return va}});t(ya.prototype,{isInBoundary:function(n){return n>0},interfaces_:function(){return[oi]},getClass:function(){return ya}});t(pa.prototype,{isInBoundary:function(n){return n>1},interfaces_:function(){return[oi]},getClass:function(){return pa}});t(wa.prototype,{isInBoundary:function(n){return 1===n},interfaces_:function(){return[oi]},getClass:function(){return wa}});oi.Mod2BoundaryNodeRule=va;oi.EndPointBoundaryNodeRule=ya;oi.MultiValentEndPointBoundaryNodeRule=pa;oi.MonoValentEndPointBoundaryNodeRule=wa;oi.MOD2_BOUNDARY_RULE=new va;oi.ENDPOINT_BOUNDARY_RULE=new ya;oi.MULTIVALENT_ENDPOINT_BOUNDARY_RULE=new pa;oi.MONOVALENT_ENDPOINT_BOUNDARY_RULE=new wa;oi.OGC_SFS_BOUNDARY_RULE=oi.MOD2_BOUNDARY_RULE;t(w.prototype,{interfaces_:function(){return[]},getClass:function(){return w}});w.isRing=function(n){return!(n.length<4)&&!!n[0].equals2D(n[n.length-1])};w.ptNotInList=function(n,t){for(var r,i=0;i<n.length;i++)if(r=n[i],w.indexOf(r,t)<0)return r;return null};w.scroll=function(n,t){var i=w.indexOf(t,n),r;if(i<0)return null;r=new Array(n.length).fill(null);pt.arraycopy(n,i,r,0,n.length-i);pt.arraycopy(n,0,r,n.length-i,i);pt.arraycopy(r,0,n,0,n.length)};w.equals=function(){var t,i,n;if(2===arguments.length){if(t=arguments[0],i=arguments[1],t===i)return!0;if(null===t||null===i||t.length!==i.length)return!1;for(n=0;n<t.length;n++)if(!t[n].equals(i[n]))return!1;return!0}if(3===arguments.length){var r=arguments[0],u=arguments[1],f=arguments[2];if(r===u)return!0;if(null===r||null===u||r.length!==u.length)return!1;for(n=0;n<r.length;n++)if(0!==f.compare(r[n],u[n]))return!1;return!0}};w.intersection=function(n,t){for(var r=new gt,i=0;i<n.length;i++)t.intersects(n[i])&&r.add(n[i],!0);return r.toCoordinateArray()};w.hasRepeatedPoints=function(n){for(var t=1;t<n.length;t++)if(n[t-1].equals(n[t]))return!0;return!1};w.removeRepeatedPoints=function(n){return w.hasRepeatedPoints(n)?new gt(n,!1).toCoordinateArray():n};w.reverse=function(n){for(var r,i=n.length-1,u=Math.trunc(i/2),t=0;t<=u;t++)r=n[t],n[t]=n[i-t],n[i-t]=r};w.removeNull=function(n){for(var r,u,i=0,t=0;t<n.length;t++)null!==n[t]&&i++;if(r=new Array(i).fill(null),0===i)return r;for(u=0,t=0;t<n.length;t++)null!==n[t]&&(r[u++]=n[t]);return r};w.copyDeep=function(){if(1===arguments.length){for(var t=arguments[0],i=new Array(t.length).fill(null),n=0;n<t.length;n++)i[n]=new r(t[n]);return i}if(5===arguments.length)for(var u=arguments[0],f=arguments[1],e=arguments[2],o=arguments[3],s=arguments[4],n=0;n<s;n++)e[o+n]=new r(u[f+n])};w.isEqualReversed=function(n,t){for(var r,u,i=0;i<n.length;i++)if(r=n[i],u=t[n.length-i-1],0!==r.compareTo(u))return!1;return!0};w.envelope=function(n){for(var i=new p,t=0;t<n.length;t++)i.expandToInclude(n[t]);return i};w.toCoordinateArray=function(n){return n.toArray(w.coordArrayType)};w.atLeastNCoordinatesOrNothing=function(n,t){return t.length>=n?t:[]};w.indexOf=function(n,t){for(var i=0;i<t.length;i++)if(n.equals(t[i]))return i;return-1};w.increasingDirection=function(n){for(var r,i,t=0;t<Math.trunc(n.length/2);t++)if(r=n.length-1-t,i=n[t].compareTo(n[r]),0!==i)return i;return 1};w.compare=function(n,t){for(var r,i=0;i<n.length&&i<t.length;){if(r=n[i].compareTo(t[i]),0!==r)return r;i++}return i<t.length?-1:i<n.length?1:0};w.minCoordinate=function(n){for(var t=null,i=0;i<n.length;i++)(null===t||t.compareTo(n[i])>0)&&(t=n[i]);return t};w.extract=function(n,t,i){var r,u,e,f;if(t=kr.clamp(t,0,n.length),i=kr.clamp(i,-1,n.length),r=i-t+1,i<0&&(r=0),t>=n.length&&(r=0),i<t&&(r=0),u=new Array(r).fill(null),0===r)return u;for(e=0,f=t;f<=i;f++)u[e++]=n[f];return u};t(hp.prototype,{compare:function(n,t){var i=n,r=t;return w.compare(i,r)},interfaces_:function(){return[ke]},getClass:function(){return hp}});t(cp.prototype,{compare:function(n,t){var i=n,r=t,u;return i.length<r.length?-1:i.length>r.length?1:0===i.length?0:(u=w.compare(i,r),w.isEqualReversed(i,r)?0:u)},OLDcompare:function(n,t){var i=n,r=t,u;if(i.length<r.length)return-1;if(i.length>r.length)return 1;if(0===i.length)return 0;for(var f=w.increasingDirection(i),e=w.increasingDirection(r),o=f>0?0:i.length-1,s=e>0?0:i.length-1,h=0;h<i.length;h++){if(u=i[o].compareTo(r[s]),0!==u)return u;o+=f;s+=e}return 0},interfaces_:function(){return[ke]},getClass:function(){return cp}});w.ForwardComparator=hp;w.BidirectionalComparator=cp;w.coordArrayType=new Array(0).fill(null);bo.prototype.get=function(){};bo.prototype.put=function(){};bo.prototype.size=function(){};bo.prototype.values=function(){};bo.prototype.entrySet=function(){};cb.prototype=new bo;ba.prototype=new yt;ba.prototype.contains=function(){};ai.prototype=new ba;ai.prototype.contains=function(n){for(var t=0,i=this.array_.length;t<i;t++)if(this.array_[t]===n)return!0;return!1};ai.prototype.add=function(n){return!this.contains(n)&&(this.array_.push(n),!0)};ai.prototype.addAll=function(n){for(var t=n.iterator();t.hasNext();)this.add(t.next());return!0};ai.prototype.remove=function(){throw new javascript.util.OperationNotSupported;};ai.prototype.size=function(){return this.array_.length};ai.prototype.isEmpty=function(){return 0===this.array_.length};ai.prototype.toArray=function(){for(var t=[],n=0,i=this.array_.length;n<i;n++)t.push(this.array_[n]);return t};ai.prototype.iterator=function(){return new ha(this)};ha=function(n){this.hashSet_=n;this.position_=0};ha.prototype.next=function(){if(this.position_===this.hashSet_.size())throw new ks;return this.hashSet_.array_[this.position_++]};ha.prototype.hasNext=function(){return this.position_<this.hashSet_.size()};ha.prototype.remove=function(){throw new rc;};af=0;ui.prototype=new cb;ui.prototype.get=function(n){for(var i,t=this.root_;null!==t;)if(i=n.compareTo(t.key),i<0)t=t.left;else{if(!(i>0))return t.value;t=t.right}return null};ui.prototype.put=function(n,t){var r,f,i,e,u;if(null===this.root_)return this.root_={key:n,value:t,left:null,right:null,parent:null,color:af,getValue:function(){return this.value},getKey:function(){return this.key}},this.size_=1,null;i=this.root_;do if(r=i,(f=n.compareTo(i.key))<0)i=i.left;else{if(!(f>0))return e=i.value,i.value=t,e;i=i.right}while(null!==i);return u={key:n,left:null,right:null,value:t,parent:r,color:af,getValue:function(){return this.value},getKey:function(){return this.key}},f<0?r.left=u:r.right=u,this.fixAfterInsertion(u),this.size_++,null};ui.prototype.fixAfterInsertion=function(n){var t;for(n.color=1;null!=n&&n!=this.root_&&1==n.parent.color;)at(n)==lp(at(at(n)))?(t=ab(at(at(n))),1==lb(t)?(bf(at(n),af),bf(t,af),bf(at(at(n)),1),n=at(at(n))):(n==ab(at(n))&&(n=at(n),this.rotateLeft(n)),bf(at(n),af),bf(at(at(n)),1),this.rotateRight(at(at(n))))):(t=lp(at(at(n))),1==lb(t)?(bf(at(n),af),bf(t,af),bf(at(at(n)),1),n=at(at(n))):(n==lp(at(n))&&(n=at(n),this.rotateRight(n)),bf(at(n),af),bf(at(at(n)),1),this.rotateLeft(at(at(n)))));this.root_.color=af};ui.prototype.values=function(){var t=new u,n=this.getFirstEntry();if(null!==n)for(t.add(n.value);null!==(n=ui.successor(n));)t.add(n.value);return t};ui.prototype.entrySet=function(){var t=new ai,n=this.getFirstEntry();if(null!==n)for(t.add(n);null!==(n=ui.successor(n));)t.add(n);return t};ui.prototype.rotateLeft=function(n){if(null!=n){var t=n.right;n.right=t.left;null!=t.left&&(t.left.parent=n);t.parent=n.parent;null==n.parent?this.root_=t:n.parent.left==n?n.parent.left=t:n.parent.right=t;t.left=n;n.parent=t}};ui.prototype.rotateRight=function(n){if(null!=n){var t=n.left;n.left=t.right;null!=t.right&&(t.right.parent=n);t.parent=n.parent;null==n.parent?this.root_=t:n.parent.right==n?n.parent.right=t:n.parent.left=t;t.right=n;n.parent=t}};ui.prototype.getFirstEntry=function(){var n=this.root_;if(null!=n)for(;null!=n.left;)n=n.left;return n};ui.successor=function(n){var t,i;if(null===n)return null;if(null!==n.right){for(t=n.right;null!==t.left;)t=t.left;return t}for(t=n.parent,i=n;null!==t&&i===t.right;)i=t,t=t.parent;return t};ui.prototype.size=function(){return this.size_};t(fc.prototype,{interfaces_:function(){return[]},getClass:function(){return fc}});vb.prototype=new ba;gi.prototype=new vb;gi.prototype.contains=function(n){for(var t=0,i=this.array_.length;t<i;t++)if(0===this.array_[t].compareTo(n))return!0;return!1};gi.prototype.add=function(n){if(this.contains(n))return!1;for(var t=0,i=this.array_.length;t<i;t++)if(1===this.array_[t].compareTo(n))return this.array_.splice(t,0,n),!0;return this.array_.push(n),!0};gi.prototype.addAll=function(n){for(var t=n.iterator();t.hasNext();)this.add(t.next());return!0};gi.prototype.remove=function(){throw new rc;};gi.prototype.size=function(){return this.array_.length};gi.prototype.isEmpty=function(){return 0===this.array_.length};gi.prototype.toArray=function(){for(var t=[],n=0,i=this.array_.length;n<i;n++)t.push(this.array_[n]);return t};gi.prototype.iterator=function(){return new ca(this)};ca=function(n){this.treeSet_=n;this.position_=0};ca.prototype.next=function(){if(this.position_===this.treeSet_.size())throw new ks;return this.treeSet_.array_[this.position_++]};ca.prototype.hasNext=function(){return this.position_<this.treeSet_.size()};ca.prototype.remove=function(){throw new rc;};kf.sort=function(){var t,i,f,r,n=arguments[0],u;if(1===arguments.length)return r=function(n,t){return n.compareTo(t)},void n.sort(r);if(2===arguments.length)f=arguments[1],r=function(n,t){return f.compare(n,t)},n.sort(r);else{if(3===arguments.length){for(i=n.slice(arguments[1],arguments[2]),i.sort(),u=n.slice(0,arguments[1]).concat(i,n.slice(arguments[2],n.length)),n.splice(0,n.length),t=0;t<u.length;t++)n.push(u[t]);return}if(4===arguments.length){for(i=n.slice(arguments[1],arguments[2]),f=arguments[3],r=function(n,t){return f.compare(n,t)},i.sort(r),u=n.slice(0,arguments[1]).concat(i,n.slice(arguments[2],n.length)),n.splice(0,n.length),t=0;t<u.length;t++)n.push(u[t]);return}}};kf.asList=function(n){for(var i=new u,t=0,r=n.length;t<r;t++)i.add(n[t]);return i};t(e.prototype,{interfaces_:function(){return[]},getClass:function(){return e}});e.toDimensionSymbol=function(n){switch(n){case e.FALSE:return e.SYM_FALSE;case e.TRUE:return e.SYM_TRUE;case e.DONTCARE:return e.SYM_DONTCARE;case e.P:return e.SYM_P;case e.L:return e.SYM_L;case e.A:return e.SYM_A}throw new ft("Unknown dimension value: "+n);};e.toDimensionValue=function(n){switch(uc.toUpperCase(n)){case e.SYM_FALSE:return e.FALSE;case e.SYM_TRUE:return e.TRUE;case e.SYM_DONTCARE:return e.DONTCARE;case e.SYM_P:return e.P;case e.SYM_L:return e.L;case e.SYM_A:return e.A}throw new ft("Unknown dimension symbol: "+n);};e.P=0;e.L=1;e.A=2;e.FALSE=-1;e.TRUE=-2;e.DONTCARE=-3;e.SYM_FALSE="F";e.SYM_TRUE="T";e.SYM_DONTCARE="*";e.SYM_P="0";e.SYM_L="1";e.SYM_A="2";t(df.prototype,{filter:function(){},interfaces_:function(){return[]},getClass:function(){return df}});t(ko.prototype,{filter:function(){},isDone:function(){},isGeometryChanged:function(){},interfaces_:function(){return[]},getClass:function(){return ko}});y(nt,h);t(nt.prototype,{computeEnvelopeInternal:function(){for(var t=new p,n=0;n<this.geometries.length;n++)t.expandToInclude(this.geometries[n].getEnvelopeInternal());return t},getGeometryN:function(n){return this.geometries[n]},getSortIndex:function(){return h.SORTINDEX_GEOMETRYCOLLECTION},getCoordinates:function(){for(var i,n,r=new Array(this.getNumPoints()).fill(null),u=-1,t=0;t<this.geometries.length;t++)for(i=this.geometries[t].getCoordinates(),n=0;n<i.length;n++)u++,r[u]=i[n];return r},getArea:function(){for(var t=0,n=0;n<this.geometries.length;n++)t+=this.geometries[n].getArea();return t},equalsExact:function(){var t,r,i,n;if(2===arguments.length){if((t=arguments[0],r=arguments[1],!this.isEquivalentClass(t))||(i=t,this.geometries.length!==i.geometries.length))return!1;for(n=0;n<this.geometries.length;n++)if(!this.geometries[n].equalsExact(i.geometries[n],r))return!1;return!0}return h.prototype.equalsExact.apply(this,arguments)},normalize:function(){for(var n=0;n<this.geometries.length;n++)this.geometries[n].normalize();kf.sort(this.geometries)},getCoordinate:function(){return this.isEmpty()?null:this.geometries[0].getCoordinate()},getBoundaryDimension:function(){for(var n=e.FALSE,t=0;t<this.geometries.length;t++)n=Math.max(n,this.geometries[t].getBoundaryDimension());return n},getDimension:function(){for(var n=e.FALSE,t=0;t<this.geometries.length;t++)n=Math.max(n,this.geometries[t].getDimension());return n},getLength:function(){for(var t=0,n=0;n<this.geometries.length;n++)t+=this.geometries[n].getLength();return t},getNumPoints:function(){for(var t=0,n=0;n<this.geometries.length;n++)t+=this.geometries[n].getNumPoints();return t},getNumGeometries:function(){return this.geometries.length},reverse:function(){for(var i=this.geometries.length,t=new Array(i).fill(null),n=0;n<this.geometries.length;n++)t[n]=this.geometries[n].reverse();return this.getFactory().createGeometryCollection(t)},compareToSameClass:function(){if(1===arguments.length){var f=arguments[0],e=new gi(kf.asList(this.geometries)),o=new gi(kf.asList(f.geometries));return this.compare(e,o)}if(2===arguments.length){for(var s=arguments[0],h=arguments[1],t=s,i=this.getNumGeometries(),r=t.getNumGeometries(),n=0;n<i&&n<r;){var c=this.getGeometryN(n),l=t.getGeometryN(n),u=c.compareToSameClass(l,h);if(0!==u)return u;n++}return n<i?1:n<r?-1:0}},apply:function(){var u,t,i,r,n;if(l(arguments[0],ge))for(u=arguments[0],n=0;n<this.geometries.length;n++)this.geometries[n].apply(u);else if(l(arguments[0],ko)){if(t=arguments[0],0===this.geometries.length)return null;for(n=0;n<this.geometries.length&&(this.geometries[n].apply(t),!t.isDone());n++);t.isGeometryChanged()&&this.geometryChanged()}else if(l(arguments[0],df))for(i=arguments[0],i.filter(this),n=0;n<this.geometries.length;n++)this.geometries[n].apply(i);else if(l(arguments[0],wu))for(r=arguments[0],r.filter(this),n=0;n<this.geometries.length;n++)this.geometries[n].apply(r)},getBoundary:function(){return this.checkNotGeometryCollection(this),c.shouldNeverReachHere(),null},clone:function(){var t=h.prototype.clone.call(this),n;for(t.geometries=new Array(this.geometries.length).fill(null),n=0;n<this.geometries.length;n++)t.geometries[n]=this.geometries[n].clone();return t},getGeometryType:function(){return"GeometryCollection"},copy:function(){for(var t=new Array(this.geometries.length).fill(null),n=0;n<t.length;n++)t[n]=this.geometries[n].copy();return new nt(t,this.factory)},isEmpty:function(){for(var n=0;n<this.geometries.length;n++)if(!this.geometries[n].isEmpty())return!1;return!0},interfaces_:function(){return[]},getClass:function(){return nt}});nt.serialVersionUID=-0x4f07bcb1f857d800;y(nr,nt);t(nr.prototype,{getSortIndex:function(){return h.SORTINDEX_MULTILINESTRING},equalsExact:function(){if(2===arguments.length){var n=arguments[0],t=arguments[1];return!!this.isEquivalentClass(n)&&nt.prototype.equalsExact.call(this,n,t)}return nt.prototype.equalsExact.apply(this,arguments)},getBoundaryDimension:function(){return this.isClosed()?e.FALSE:0},isClosed:function(){if(this.isEmpty())return!1;for(var n=0;n<this.geometries.length;n++)if(!this.geometries[n].isClosed())return!1;return!0},getDimension:function(){return 1},reverse:function(){for(var t=this.geometries.length,i=new Array(t).fill(null),n=0;n<this.geometries.length;n++)i[t-1-n]=this.geometries[n].reverse();return this.getFactory().createMultiLineString(i)},getBoundary:function(){return new ce(this).getBoundary()},getGeometryType:function(){return"MultiLineString"},copy:function(){for(var t=new Array(this.geometries.length).fill(null),n=0;n<t.length;n++)t[n]=this.geometries[n].copy();return new nr(t,this.factory)},interfaces_:function(){return[fc]},getClass:function(){return nr}});nr.serialVersionUID=0x7155d2ab4afa8000;t(ce.prototype,{boundaryMultiLineString:function(n){if(this.geom.isEmpty())return this.getEmptyMultiPoint();var t=this.computeBoundaryCoordinates(n);return 1===t.length?this.geomFact.createPoint(t[0]):this.geomFact.createMultiPointFromCoords(t)},getBoundary:function(){return this.geom instanceof d?this.boundaryLineString(this.geom):this.geom instanceof nr?this.boundaryMultiLineString(this.geom):this.geom.getBoundary()},boundaryLineString:function(n){return this.geom.isEmpty()?this.getEmptyMultiPoint():n.isClosed()?this.bnRule.isInBoundary(2)?n.getStartPoint():this.geomFact.createMultiPoint():this.geomFact.createMultiPoint([n.getStartPoint(),n.getEndPoint()])},getEmptyMultiPoint:function(){return this.geomFact.createMultiPoint()},computeBoundaryCoordinates:function(n){var f=new u,i,t,r;for(this.endpointMap=new ui,i=0;i<n.getNumGeometries();i++)t=n.getGeometryN(i),0!==t.getNumPoints()&&(this.addEndpoint(t.getCoordinateN(0)),this.addEndpoint(t.getCoordinateN(t.getNumPoints()-1)));for(r=this.endpointMap.entrySet().iterator();r.hasNext();){var e=r.next(),o=e.getValue(),s=o.count;this.bnRule.isInBoundary(s)&&f.add(e.getKey())}return w.toCoordinateArray(f)},addEndpoint:function(n){var t=this.endpointMap.get(n);null===t&&(t=new ap,this.endpointMap.put(n,t));t.count++},interfaces_:function(){return[]},getClass:function(){return ce}});ce.getBoundary=function(){var t,n;if(1===arguments.length)return t=arguments[0],n=new ce(t),n.getBoundary();if(2===arguments.length){var i=arguments[0],r=arguments[1],n=new ce(i,r);return n.getBoundary()}};t(ap.prototype,{interfaces_:function(){return[]},getClass:function(){return ap}});t(dr.prototype,{interfaces_:function(){return[]},getClass:function(){return dr}});dr.chars=function(n,t){for(var r=new Array(t).fill(null),i=0;i<t;i++)r[i]=n;return new String(r)};dr.getStackTrace=function(){if(1===arguments.length){var n=arguments[0],t=new dk,u=new wk(t);return n.printStackTrace(u),t.toString()}if(2===arguments.length){for(var f=arguments[0],e=arguments[1],i="",o=new bk(dr.getStackTrace(f)),s=new nd(o),r=0;r<e;r++)try{i+=s.readLine()+dr.NEWLINE}catch(n){if(!(n instanceof gk))throw n;c.shouldNeverReachHere()}return i}};dr.split=function(n,t){for(var s,o,r,h=t.length,f=new u,i=""+n,e=i.indexOf(t);e>=0;)s=i.substring(0,e),f.add(s),i=i.substring(e+h),e=i.indexOf(t);for(i.length>0&&f.add(i),o=new Array(f.size()).fill(null),r=0;r<o.length;r++)o[r]=f.get(r);return o};dr.toString=function(){if(1===arguments.length){var n=arguments[0];return dr.SIMPLE_ORDINATE_FORMAT.format(n)}};dr.spaces=function(n){return dr.chars(" ",n)};dr.NEWLINE=pt.getProperty("line.separator");dr.SIMPLE_ORDINATE_FORMAT=new kk("0.#");t(ri.prototype,{interfaces_:function(){return[]},getClass:function(){return ri}});ri.copyCoord=function(n,t,i,r){for(var f=Math.min(n.getDimension(),i.getDimension()),u=0;u<f;u++)i.setOrdinate(r,u,n.getOrdinate(t,u))};ri.isRing=function(n){var t=n.size();return 0===t||!(t<=3)&&n.getOrdinate(0,lt.X)===n.getOrdinate(t-1,lt.X)&&n.getOrdinate(0,lt.Y)===n.getOrdinate(t-1,lt.Y)};ri.isEqual=function(n,t){var u=n.size(),f,i,r,e,o;if(u!==t.size())return!1;for(f=Math.min(n.getDimension(),t.getDimension()),i=0;i<u;i++)for(r=0;r<f;r++)if(e=n.getOrdinate(i,r),o=t.getOrdinate(i,r),n.getOrdinate(i,r)!==t.getOrdinate(i,r)&&(!a.isNaN(e)||!a.isNaN(o)))return!1;return!0};ri.extend=function(n,t,i){var f=n.create(i,t.getDimension()),r=t.size(),u;if(ri.copy(t,0,f,0,r),r>0)for(u=r;u<i;u++)ri.copy(t,r-1,f,u,1);return f};ri.reverse=function(n){for(var i=n.size()-1,r=Math.trunc(i/2),t=0;t<=r;t++)ri.swap(n,t,i-t)};ri.swap=function(n,t,i){var r,u;if(t===i)return null;for(r=0;r<n.getDimension();r++)u=n.getOrdinate(t,r),n.setOrdinate(t,r,n.getOrdinate(i,r)),n.setOrdinate(i,r,u)};ri.copy=function(n,t,i,r,u){for(var f=0;f<u;f++)ri.copyCoord(n,t+f,i,r+f)};ri.toString=function(){var r,u,f,n,t,i;if(1===arguments.length){if(r=arguments[0],u=r.size(),0===u)return"()";for(f=r.getDimension(),n=new su,n.append("("),t=0;t<u;t++)for(t>0&&n.append(" "),i=0;i<f;i++)i>0&&n.append(","),n.append(dr.toString(r.getOrdinate(t,i)));return n.append(")"),n.toString()}};ri.ensureValidRing=function(n,t){var i=t.size();return 0===i?t:i<=3?ri.createClosedRing(n,t,4):t.getOrdinate(0,lt.X)===t.getOrdinate(i-1,lt.X)&&t.getOrdinate(0,lt.Y)===t.getOrdinate(i-1,lt.Y)?t:ri.createClosedRing(n,t,i+1)};ri.createClosedRing=function(n,t,i){var u=n.create(i,t.getDimension()),f=t.size(),r;for(ri.copy(t,0,u,0,f),r=f;r<i;r++)ri.copy(t,0,u,r,1);return u};y(d,h);t(d.prototype,{computeEnvelopeInternal:function(){return this.isEmpty()?new p:this.points.expandEnvelope(new p)},isRing:function(){return this.isClosed()&&this.isSimple()},getSortIndex:function(){return h.SORTINDEX_LINESTRING},getCoordinates:function(){return this.points.toCoordinateArray()},equalsExact:function(){var t,r,i,n;if(2===arguments.length){if((t=arguments[0],r=arguments[1],!this.isEquivalentClass(t))||(i=t,this.points.size()!==i.points.size()))return!1;for(n=0;n<this.points.size();n++)if(!this.equal(this.points.getCoordinate(n),i.points.getCoordinate(n),r))return!1;return!0}return h.prototype.equalsExact.apply(this,arguments)},normalize:function(){for(var t,n=0;n<Math.trunc(this.points.size()/2);n++)if(t=this.points.size()-1-n,!this.points.getCoordinate(n).equals(this.points.getCoordinate(t)))return this.points.getCoordinate(n).compareTo(this.points.getCoordinate(t))>0&&ri.reverse(this.points),null},getCoordinate:function(){return this.isEmpty()?null:this.points.getCoordinate(0)},getBoundaryDimension:function(){return this.isClosed()?e.FALSE:0},isClosed:function(){return!this.isEmpty()&&this.getCoordinateN(0).equals2D(this.getCoordinateN(this.getNumPoints()-1))},getEndPoint:function(){return this.isEmpty()?null:this.getPointN(this.getNumPoints()-1)},getDimension:function(){return 1},getLength:function(){return s.computeLength(this.points)},getNumPoints:function(){return this.points.size()},reverse:function(){var n=this.points.copy();return ri.reverse(n),this.getFactory().createLineString(n)},compareToSameClass:function(){var r;if(1===arguments.length){for(var u=arguments[0],n=u,t=0,i=0;t<this.points.size()&&i<n.points.size();){if(r=this.points.getCoordinate(t).compareTo(n.points.getCoordinate(i)),0!==r)return r;t++;i++}return t<this.points.size()?1:i<n.points.size()?-1:0}if(2===arguments.length){var f=arguments[0],e=arguments[1],n=f;return e.compare(this.points,n.points)}},apply:function(){var i,t,n,r,u;if(l(arguments[0],ge))for(i=arguments[0],n=0;n<this.points.size();n++)i.filter(this.points.getCoordinate(n));else if(l(arguments[0],ko)){if(t=arguments[0],0===this.points.size())return null;for(n=0;n<this.points.size()&&(t.filter(this.points,n),!t.isDone());n++);t.isGeometryChanged()&&this.geometryChanged()}else l(arguments[0],df)?(r=arguments[0],r.filter(this)):l(arguments[0],wu)&&(u=arguments[0],u.filter(this))},getBoundary:function(){return new ce(this).getBoundary()},isEquivalentClass:function(n){return n instanceof d},clone:function(){var n=h.prototype.clone.call(this);return n.points=this.points.clone(),n},getCoordinateN:function(n){return this.points.getCoordinate(n)},getGeometryType:function(){return"LineString"},copy:function(){return new d(this.points.copy(),this.factory)},getCoordinateSequence:function(){return this.points},isEmpty:function(){return 0===this.points.size()},init:function(n){if(null===n&&(n=this.getFactory().getCoordinateSequenceFactory().create([])),1===n.size())throw new ft("Invalid number of points in LineString (found "+n.size()+" - must be 0 or >= 2)");this.points=n},isCoordinate:function(n){for(var t=0;t<this.points.size();t++)if(this.points.getCoordinate(t).equals(n))return!0;return!1},getStartPoint:function(){return this.isEmpty()?null:this.getPointN(0)},getPointN:function(n){return this.getFactory().createPoint(this.points.getCoordinate(n))},interfaces_:function(){return[fc]},getClass:function(){return d}});d.serialVersionUID=0x2b2b51ba435c8e00;t(ka.prototype,{interfaces_:function(){return[]},getClass:function(){return ka}});y(bt,h);t(bt.prototype,{computeEnvelopeInternal:function(){if(this.isEmpty())return new p;var n=new p;return n.expandToInclude(this.coordinates.getX(0),this.coordinates.getY(0)),n},getSortIndex:function(){return h.SORTINDEX_POINT},getCoordinates:function(){return this.isEmpty()?[]:[this.getCoordinate()]},equalsExact:function(){if(2===arguments.length){var n=arguments[0],t=arguments[1];return!!this.isEquivalentClass(n)&&(!(!this.isEmpty()||!n.isEmpty())||this.isEmpty()===n.isEmpty()&&this.equal(n.getCoordinate(),this.getCoordinate(),t))}return h.prototype.equalsExact.apply(this,arguments)},normalize:function(){},getCoordinate:function(){return 0!==this.coordinates.size()?this.coordinates.getCoordinate(0):null},getBoundaryDimension:function(){return e.FALSE},getDimension:function(){return 0},getNumPoints:function(){return this.isEmpty()?0:1},reverse:function(){return this.copy()},getX:function(){if(null===this.getCoordinate())throw new IllegalStateException("getX called on empty Point");return this.getCoordinate().x},compareToSameClass:function(){var t,n;if(1===arguments.length)return t=arguments[0],n=t,this.getCoordinate().compareTo(n.getCoordinate());if(2===arguments.length){var i=arguments[0],r=arguments[1],n=i;return r.compare(this.coordinates,n.coordinates)}},apply:function(){var t,n,i,r;if(l(arguments[0],ge)){if(t=arguments[0],this.isEmpty())return null;t.filter(this.getCoordinate())}else if(l(arguments[0],ko)){if(n=arguments[0],this.isEmpty())return null;n.filter(this.coordinates,0);n.isGeometryChanged()&&this.geometryChanged()}else l(arguments[0],df)?(i=arguments[0],i.filter(this)):l(arguments[0],wu)&&(r=arguments[0],r.filter(this))},getBoundary:function(){return this.getFactory().createGeometryCollection(null)},clone:function(){var n=h.prototype.clone.call(this);return n.coordinates=this.coordinates.clone(),n},getGeometryType:function(){return"Point"},copy:function(){return new bt(this.coordinates.copy(),this.factory)},getCoordinateSequence:function(){return this.coordinates},getY:function(){if(null===this.getCoordinate())throw new IllegalStateException("getY called on empty Point");return this.getCoordinate().y},isEmpty:function(){return 0===this.coordinates.size()},init:function(n){null===n&&(n=this.getFactory().getCoordinateSequenceFactory().create([]));c.isTrue(n.size()<=1);this.coordinates=n},isSimple:function(){return!0},interfaces_:function(){return[ka]},getClass:function(){return bt}});bt.serialVersionUID=0x44077bad161cbc00;t(gf.prototype,{interfaces_:function(){return[]},getClass:function(){return gf}});y(ht,h);t(ht.prototype,{computeEnvelopeInternal:function(){return this.shell.getEnvelopeInternal()},getSortIndex:function(){return h.SORTINDEX_POLYGON},getCoordinates:function(){var t,f,i;if(this.isEmpty())return[];for(var r=new Array(this.getNumPoints()).fill(null),n=-1,e=this.shell.getCoordinates(),u=0;u<e.length;u++)n++,r[n]=e[u];for(t=0;t<this.holes.length;t++)for(f=this.holes[t].getCoordinates(),i=0;i<f.length;i++)n++,r[n]=f[i];return r},getArea:function(){var t=0,n;for(t+=Math.abs(s.signedArea(this.shell.getCoordinateSequence())),n=0;n<this.holes.length;n++)t-=Math.abs(s.signedArea(this.holes[n].getCoordinateSequence()));return t},isRectangle:function(){var t,i;if(0!==this.getNumInteriorRing()||null===this.shell||5!==this.shell.getNumPoints())return!1;for(var r=this.shell.getCoordinateSequence(),u=this.getEnvelopeInternal(),n=0;n<5;n++)if((t=r.getX(n),t!==u.getMinX()&&t!==u.getMaxX())||(i=r.getY(n),i!==u.getMinY()&&i!==u.getMaxY()))return!1;for(var f=r.getX(0),e=r.getY(0),n=1;n<=4;n++){if(t=r.getX(n),i=r.getY(n),t!==f==(i!==e))return!1;f=t;e=i}return!0},equalsExact:function(){var t,i,n;if(2===arguments.length){if(t=arguments[0],i=arguments[1],!this.isEquivalentClass(t))return!1;var r=t,u=this.shell,f=r.shell;if(!u.equalsExact(f,i)||this.holes.length!==r.holes.length)return!1;for(n=0;n<this.holes.length;n++)if(!this.holes[n].equalsExact(r.holes[n],i))return!1;return!0}return h.prototype.equalsExact.apply(this,arguments)},normalize:function(){var i,n,r,t,u;if(0===arguments.length){for(this.normalize(this.shell,!0),i=0;i<this.holes.length;i++)this.normalize(this.holes[i],!1);kf.sort(this.holes)}else if(2===arguments.length){if(n=arguments[0],r=arguments[1],n.isEmpty())return null;t=new Array(n.getCoordinates().length-1).fill(null);pt.arraycopy(n.getCoordinates(),0,t,0,t.length);u=w.minCoordinate(n.getCoordinates());w.scroll(t,u);pt.arraycopy(t,0,n.getCoordinates(),0,t.length);n.getCoordinates()[t.length]=t[0];s.isCCW(n.getCoordinates())===r&&w.reverse(n.getCoordinates())}},getCoordinate:function(){return this.shell.getCoordinate()},getNumInteriorRing:function(){return this.holes.length},getBoundaryDimension:function(){return 1},getDimension:function(){return 2},getLength:function(){var t=0,n;for(t+=this.shell.getLength(),n=0;n<this.holes.length;n++)t+=this.holes[n].getLength();return t},getNumPoints:function(){for(var t=this.shell.getNumPoints(),n=0;n<this.holes.length;n++)t+=this.holes[n].getNumPoints();return t},reverse:function(){var t=this.copy(),n;for(t.shell=this.shell.copy().reverse(),t.holes=new Array(this.holes.length).fill(null),n=0;n<this.holes.length;n++)t.holes[n]=this.holes[n].copy().reverse();return t},convexHull:function(){return this.getExteriorRing().convexHull()},compareToSameClass:function(){if(1===arguments.length){var h=arguments[0],t=this.shell,i=h.shell;return t.compareToSameClass(i)}if(2===arguments.length){var c=arguments[0],u=arguments[1],r=c,t=this.shell,i=r.shell,f=t.compareToSameClass(i,u);if(0!==f)return f;for(var e=this.getNumInteriorRing(),o=r.getNumInteriorRing(),n=0;n<e&&n<o;){var l=this.getInteriorRingN(n),a=r.getInteriorRingN(n),s=l.compareToSameClass(a,u);if(0!==s)return s;n++}return n<e?1:n<o?-1:0}},apply:function(){var r,t,u,i,n;if(l(arguments[0],ge))for(r=arguments[0],this.shell.apply(r),n=0;n<this.holes.length;n++)this.holes[n].apply(r);else if(l(arguments[0],ko)){if(t=arguments[0],this.shell.apply(t),!t.isDone())for(n=0;n<this.holes.length&&(this.holes[n].apply(t),!t.isDone());n++);t.isGeometryChanged()&&this.geometryChanged()}else if(l(arguments[0],df))u=arguments[0],u.filter(this);else if(l(arguments[0],wu))for(i=arguments[0],i.filter(this),this.shell.apply(i),n=0;n<this.holes.length;n++)this.holes[n].apply(i)},getBoundary:function(){var n,t;if(this.isEmpty())return this.getFactory().createMultiLineString();for(n=new Array(this.holes.length+1).fill(null),n[0]=this.shell,t=0;t<this.holes.length;t++)n[t+1]=this.holes[t];return n.length<=1?this.getFactory().createLinearRing(n[0].getCoordinateSequence()):this.getFactory().createMultiLineString(n)},clone:function(){var t=h.prototype.clone.call(this),n;for(t.shell=this.shell.clone(),t.holes=new Array(this.holes.length).fill(null),n=0;n<this.holes.length;n++)t.holes[n]=this.holes[n].clone();return t},getGeometryType:function(){return"Polygon"},copy:function(){for(var i=this.shell.copy(),t=new Array(this.holes.length).fill(null),n=0;n<t.length;n++)t[n]=this.holes[n].copy();return new ht(i,t,this.factory)},getExteriorRing:function(){return this.shell},isEmpty:function(){return this.shell.isEmpty()},getInteriorRingN:function(n){return this.holes[n]},interfaces_:function(){return[gf]},getClass:function(){return ht}});ht.serialVersionUID=-0x307ffefd8dc97200;y(ar,nt);t(ar.prototype,{getSortIndex:function(){return h.SORTINDEX_MULTIPOINT},isValid:function(){return!0},equalsExact:function(){if(2===arguments.length){var n=arguments[0],t=arguments[1];return!!this.isEquivalentClass(n)&&nt.prototype.equalsExact.call(this,n,t)}return nt.prototype.equalsExact.apply(this,arguments)},getCoordinate:function(){if(1===arguments.length){var n=arguments[0];return this.geometries[n].getCoordinate()}return nt.prototype.getCoordinate.apply(this,arguments)},getBoundaryDimension:function(){return e.FALSE},getDimension:function(){return 0},getBoundary:function(){return this.getFactory().createGeometryCollection(null)},getGeometryType:function(){return"MultiPoint"},copy:function(){for(var t=new Array(this.geometries.length).fill(null),n=0;n<t.length;n++)t[n]=this.geometries[n].copy();return new ar(t,this.factory)},interfaces_:function(){return[ka]},getClass:function(){return ar}});ar.serialVersionUID=-0x6fb1ed4162e0fc00;y(ni,d);t(ni.prototype,{getSortIndex:function(){return h.SORTINDEX_LINEARRING},getBoundaryDimension:function(){return e.FALSE},isClosed:function(){return!!this.isEmpty()||d.prototype.isClosed.call(this)},reverse:function(){var n=this.points.copy();return ri.reverse(n),this.getFactory().createLinearRing(n)},validateConstruction:function(){if(!this.isEmpty()&&!d.prototype.isClosed.call(this))throw new ft("Points of LinearRing do not form a closed linestring");if(this.getCoordinateSequence().size()>=1&&this.getCoordinateSequence().size()<ni.MINIMUM_VALID_SIZE)throw new ft("Invalid number of points in LinearRing (found "+this.getCoordinateSequence().size()+" - must be 0 or >= 4)");},getGeometryType:function(){return"LinearRing"},copy:function(){return new ni(this.points.copy(),this.factory)},interfaces_:function(){return[]},getClass:function(){return ni}});ni.MINIMUM_VALID_SIZE=4;ni.serialVersionUID=-0x3b229e262367a600;y(vi,nt);t(vi.prototype,{getSortIndex:function(){return h.SORTINDEX_MULTIPOLYGON},equalsExact:function(){if(2===arguments.length){var n=arguments[0],t=arguments[1];return!!this.isEquivalentClass(n)&&nt.prototype.equalsExact.call(this,n,t)}return nt.prototype.equalsExact.apply(this,arguments)},getBoundaryDimension:function(){return 1},getDimension:function(){return 2},reverse:function(){for(var i=this.geometries.length,t=new Array(i).fill(null),n=0;n<this.geometries.length;n++)t[n]=this.geometries[n].reverse();return this.getFactory().createMultiPolygon(t)},getBoundary:function(){var n,t,f;if(this.isEmpty())return this.getFactory().createMultiLineString();for(n=new u,t=0;t<this.geometries.length;t++)for(var e=this.geometries[t],r=e.getBoundary(),i=0;i<r.getNumGeometries();i++)n.add(r.getGeometryN(i));return f=new Array(n.size()).fill(null),this.getFactory().createMultiLineString(n.toArray(f))},getGeometryType:function(){return"MultiPolygon"},copy:function(){for(var t=new Array(this.geometries.length).fill(null),n=0;n<t.length;n++)t[n]=this.geometries[n].copy();return new vi(t,this.factory)},interfaces_:function(){return[gf]},getClass:function(){return vi}});vi.serialVersionUID=-0x7a5aa1369171980;t(gr.prototype,{setCopyUserData:function(n){this.isUserDataCopied=n},edit:function(n,t){if(null===n)return null;var i=this.editInternal(n,t);return this.isUserDataCopied&&i.setUserData(n.getUserData()),i},editInternal:function(n,t){return null===this.factory&&(this.factory=n.getFactory()),n instanceof nt?this.editGeometryCollection(n,t):n instanceof ht?this.editPolygon(n,t):n instanceof bt?t.edit(n,this.factory):n instanceof d?t.edit(n,this.factory):(c.shouldNeverReachHere("Unsupported Geometry class: "+n.getClass().getName()),null)},editGeometryCollection:function(n,t){for(var f,i=t.edit(n,this.factory),r=new u,e=0;e<i.getNumGeometries();e++)f=this.edit(i.getGeometryN(e),t),null===f||f.isEmpty()||r.add(f);return i.getClass()===ar?this.factory.createMultiPoint(r.toArray([])):i.getClass()===nr?this.factory.createMultiLineString(r.toArray([])):i.getClass()===vi?this.factory.createMultiPolygon(r.toArray([])):this.factory.createGeometryCollection(r.toArray([]))},editPolygon:function(n,t){var i=t.edit(n,this.factory),r,o,f,e;if(null===i&&(i=this.factory.createPolygon(null)),i.isEmpty())return i;if(r=this.edit(i.getExteriorRing(),t),null===r||r.isEmpty())return this.factory.createPolygon();for(o=new u,f=0;f<i.getNumInteriorRing();f++)e=this.edit(i.getInteriorRingN(f),t),null===e||e.isEmpty()||o.add(e);return this.factory.createPolygon(r,o.toArray([]))},interfaces_:function(){return[]},getClass:function(){return gr}});gr.GeometryEditorOperation=da;t(vp.prototype,{edit:function(n){return n},interfaces_:function(){return[da]},getClass:function(){return vp}});t(yp.prototype,{edit:function(n,t){var i=this.editCoordinates(n.getCoordinates(),n);return null===i?n:n instanceof ni?t.createLinearRing(i):n instanceof d?t.createLineString(i):n instanceof bt?i.length>0?t.createPoint(i[0]):t.createPoint():n},interfaces_:function(){return[da]},getClass:function(){return yp}});t(pp.prototype,{edit:function(n,t){return n instanceof ni?t.createLinearRing(this.edit(n.getCoordinateSequence(),n)):n instanceof d?t.createLineString(this.edit(n.getCoordinateSequence(),n)):n instanceof bt?t.createPoint(this.edit(n.getCoordinateSequence(),n)):n},interfaces_:function(){return[da]},getClass:function(){return pp}});gr.NoOpGeometryOperation=vp;gr.CoordinateOperation=yp;gr.CoordinateSequenceOperation=pp;t(nu.prototype,{setOrdinate:function(n,t,i){switch(t){case lt.X:this.coordinates[n].x=i;break;case lt.Y:this.coordinates[n].y=i;break;case lt.Z:this.coordinates[n].z=i;break;default:throw new ft("invalid ordinateIndex");}},size:function(){return this.coordinates.length},getOrdinate:function(n,t){switch(t){case lt.X:return this.coordinates[n].x;case lt.Y:return this.coordinates[n].y;case lt.Z:return this.coordinates[n].z}return a.NaN},getCoordinate:function(){var i,n,t;if(1===arguments.length)return i=arguments[0],this.coordinates[i];2===arguments.length&&(n=arguments[0],t=arguments[1],t.x=this.coordinates[n].x,t.y=this.coordinates[n].y,t.z=this.coordinates[n].z)},getCoordinateCopy:function(n){return new r(this.coordinates[n])},getDimension:function(){return this.dimension},getX:function(n){return this.coordinates[n].x},clone:function(){for(var t=new Array(this.size()).fill(null),n=0;n<this.coordinates.length;n++)t[n]=this.coordinates[n].clone();return new nu(t,this.dimension)},expandEnvelope:function(n){for(var t=0;t<this.coordinates.length;t++)n.expandToInclude(this.coordinates[t]);return n},copy:function(){for(var t=new Array(this.size()).fill(null),n=0;n<this.coordinates.length;n++)t[n]=this.coordinates[n].copy();return new nu(t,this.dimension)},toString:function(){var n,t;if(this.coordinates.length>0){for(n=new su(17*this.coordinates.length),n.append("("),n.append(this.coordinates[0]),t=1;t<this.coordinates.length;t++)n.append(", "),n.append(this.coordinates[t]);return n.append(")"),n.toString()}return"()"},getY:function(n){return this.coordinates[n].y},toCoordinateArray:function(){return this.coordinates},interfaces_:function(){return[lt,fr]},getClass:function(){return nu}});nu.serialVersionUID=-0xcb44a778db18e00;t(le.prototype,{readResolve:function(){return le.instance()},create:function(){if(1===arguments.length){if(arguments[0]instanceof Array||l(arguments[0],lt))return new nu(arguments[0])}else if(2===arguments.length){var t=arguments[0],n=arguments[1];return n>3&&(n=3),n<2?new nu(t):new nu(t,n)}},interfaces_:function(){return[aa,fr]},getClass:function(){return le}});le.instance=function(){return le.instanceObject};le.serialVersionUID=-0x38e49fa6cf6f2e00;le.instanceObject=new le;var vf,wd=Object.defineProperty,bd=function(n,t){function i(n){if(!this||this.constructor!==i)return new i(n);this._keys=[];this._values=[];this._itp=[];this.objectOnly=t;n&&id.call(this,n)}return t||wd(n,"size",{get:ad}),n.constructor=i,i.prototype=n,i}({"delete":rd,has:ed,get:ud,set:od,keys:hd,values:cd,entries:ld,forEach:vd,clear:sd}),kd="undefined"!=typeof Map&&Map.prototype.values?Map:bd;ne.prototype=new bo;ne.prototype.get=function(n){return this.map_.get(n)||null};ne.prototype.put=function(n,t){return this.map_.set(n,t),t};ne.prototype.values=function(){for(var t=new u,i=this.map_.values(),n=i.next();!n.done;)t.add(n.value),n=i.next();return t};ne.prototype.entrySet=function(){var n=new ai;return this.map_.entries().forEach(function(t){return n.add(t)}),n};ne.prototype.size=function(){return this.map_.size()};t(et.prototype,{equals:function(n){if(!(n instanceof et))return!1;var t=n;return this.modelType===t.modelType&&this.scale===t.scale},compareTo:function(n){var t=n,i=this.getMaximumSignificantDigits(),r=t.getMaximumSignificantDigits();return new pu(i).compareTo(new pu(r))},getScale:function(){return this.scale},isFloating:function(){return this.modelType===et.FLOATING||this.modelType===et.FLOATING_SINGLE},getType:function(){return this.modelType},toString:function(){var n="UNKNOWN";return this.modelType===et.FLOATING?n="Floating":this.modelType===et.FLOATING_SINGLE?n="Floating-Single":this.modelType===et.FIXED&&(n="Fixed (Scale="+this.getScale()+")"),n},makePrecise:function(){var n,t;if("number"==typeof arguments[0])return(n=arguments[0],a.isNaN(n))?n:this.modelType===et.FLOATING_SINGLE?n:this.modelType===et.FIXED?Math.round(n*this.scale)/this.scale:n;if(arguments[0]instanceof r){if(t=arguments[0],this.modelType===et.FLOATING)return null;t.x=this.makePrecise(t.x);t.y=this.makePrecise(t.y)}},getMaximumSignificantDigits:function(){var n=16;return this.modelType===et.FLOATING?n=16:this.modelType===et.FLOATING_SINGLE?n=6:this.modelType===et.FIXED&&(n=1+Math.trunc(Math.ceil(Math.log(this.getScale())/Math.log(10)))),n},setScale:function(n){this.scale=Math.abs(n)},interfaces_:function(){return[fr,ur]},getClass:function(){return et}});et.mostPrecise=function(n,t){return n.compareTo(t)>=0?n:t};t(uf.prototype,{readResolve:function(){return uf.nameToTypeMap.get(this.name)},toString:function(){return this.name},interfaces_:function(){return[fr]},getClass:function(){return uf}});uf.serialVersionUID=-552860263173159e4;uf.nameToTypeMap=new ne;et.Type=uf;et.serialVersionUID=0x6bee6404e9a25c00;et.FIXED=new uf("FIXED");et.FLOATING=new uf("FLOATING");et.FLOATING_SINGLE=new uf("FLOATING SINGLE");et.maximumPreciseValue=9007199254740992;t(g.prototype,{toGeometry:function(n){return n.isNull()?this.createPoint(null):n.getMinX()===n.getMaxX()&&n.getMinY()===n.getMaxY()?this.createPoint(new r(n.getMinX(),n.getMinY())):n.getMinX()===n.getMaxX()||n.getMinY()===n.getMaxY()?this.createLineString([new r(n.getMinX(),n.getMinY()),new r(n.getMaxX(),n.getMaxY())]):this.createPolygon(this.createLinearRing([new r(n.getMinX(),n.getMinY()),new r(n.getMinX(),n.getMaxY()),new r(n.getMaxX(),n.getMaxY()),new r(n.getMaxX(),n.getMinY()),new r(n.getMinX(),n.getMinY())]),null)},createLineString:function(){if(0===arguments.length)return this.createLineString(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){var n=arguments[0];return this.createLineString(null!==n?this.getCoordinateSequenceFactory().create(n):null)}if(l(arguments[0],lt))return new d(arguments[0],this)}},createMultiLineString:function(){return 0===arguments.length?new nr(null,this):1===arguments.length?new nr(arguments[0],this):void 0},buildGeometry:function(n){for(var r,u,t,i=null,f=!1,e=!1,o=n.iterator();o.hasNext();)r=o.next(),u=r.getClass(),null===i&&(i=u),u!==i&&(f=!0),r.isGeometryCollectionOrDerived()&&(e=!0);if(null===i)return this.createGeometryCollection();if(f||e)return this.createGeometryCollection(g.toGeometryArray(n));if(t=n.iterator().next(),n.size()>1){if(t instanceof ht)return this.createMultiPolygon(g.toPolygonArray(n));if(t instanceof d)return this.createMultiLineString(g.toLineStringArray(n));if(t instanceof bt)return this.createMultiPoint(g.toPointArray(n));c.shouldNeverReachHere("Unhandled class: "+t.getClass().getName())}return t},createMultiPointFromCoords:function(n){return this.createMultiPoint(null!==n?this.getCoordinateSequenceFactory().create(n):null)},createPoint:function(){if(0===arguments.length)return this.createPoint(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof r){var n=arguments[0];return this.createPoint(null!==n?this.getCoordinateSequenceFactory().create([n]):null)}if(l(arguments[0],lt))return new bt(arguments[0],this)}},getCoordinateSequenceFactory:function(){return this.coordinateSequenceFactory},createPolygon:function(){var n,t,i,r,u;if(0===arguments.length)return new ht(null,null,this);if(1===arguments.length){if(l(arguments[0],lt))return n=arguments[0],this.createPolygon(this.createLinearRing(n));if(arguments[0]instanceof Array)return t=arguments[0],this.createPolygon(this.createLinearRing(t));if(arguments[0]instanceof ni)return i=arguments[0],this.createPolygon(i,null)}else if(2===arguments.length)return r=arguments[0],u=arguments[1],new ht(r,u,this)},getSRID:function(){return this.SRID},createGeometryCollection:function(){return 0===arguments.length?new nt(null,this):1===arguments.length?new nt(arguments[0],this):void 0},createGeometry:function(n){return new gr(this).edit(n,{edit:function(){if(2===arguments.length){var n=arguments[0];return arguments[1],this.coordinateSequenceFactory.create(n)}}})},getPrecisionModel:function(){return this.precisionModel},createLinearRing:function(){if(0===arguments.length)return this.createLinearRing(this.getCoordinateSequenceFactory().create([]));if(1===arguments.length){if(arguments[0]instanceof Array){var n=arguments[0];return this.createLinearRing(null!==n?this.getCoordinateSequenceFactory().create(n):null)}if(l(arguments[0],lt))return new ni(arguments[0],this)}},createMultiPolygon:function(){return 0===arguments.length?new vi(null,this):1===arguments.length?new vi(arguments[0],this):void 0},createMultiPoint:function(){var i,n,r,t,u;if(0===arguments.length)return new ar(null,this);if(1===arguments.length){if(arguments[0]instanceof Array)return new ar(arguments[0],this);if(arguments[0]instanceof Array)return i=arguments[0],this.createMultiPoint(null!==i?this.getCoordinateSequenceFactory().create(i):null);if(l(arguments[0],lt)){if(n=arguments[0],null===n)return this.createMultiPoint(new Array(0).fill(null));for(r=new Array(n.size()).fill(null),t=0;t<n.size();t++)u=this.getCoordinateSequenceFactory().create(1,n.getDimension()),ri.copy(n,t,u,0,1),r[t]=this.createPoint(u);return this.createMultiPoint(r)}}},interfaces_:function(){return[fr]},getClass:function(){return g}});g.toMultiPolygonArray=function(n){var t=new Array(n.size()).fill(null);return n.toArray(t)};g.toGeometryArray=function(n){if(null===n)return null;var t=new Array(n.size()).fill(null);return n.toArray(t)};g.getDefaultCoordinateSequenceFactory=function(){return le.instance()};g.toMultiLineStringArray=function(n){var t=new Array(n.size()).fill(null);return n.toArray(t)};g.toLineStringArray=function(n){var t=new Array(n.size()).fill(null);return n.toArray(t)};g.toMultiPointArray=function(n){var t=new Array(n.size()).fill(null);return n.toArray(t)};g.toLinearRingArray=function(n){var t=new Array(n.size()).fill(null);return n.toArray(t)};g.toPointArray=function(n){var t=new Array(n.size()).fill(null);return n.toArray(t)};g.toPolygonArray=function(n){var t=new Array(n.size()).fill(null);return n.toArray(t)};g.createPointFromInternalCoord=function(n,t){return t.getPrecisionModel().makePrecise(n),t.getFactory().createPoint(n)};g.serialVersionUID=-0x5ea75f2051eeb400;vu={typeStr:/^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/,emptyTypeStr:/^\s*(\w+)\s*EMPTY\s*$/,spaces:/\s+/,parenComma:/\)\s*,\s*\(/,doubleParenComma:/\)\s*\)\s*,\s*\(\s*\(/,trimParens:/^\s*\(?(.*?)\)?\s*$/};t(bp.prototype,{read:function(n){var i,r,u,t;if(n=n.replace(/[\n\r]/g," "),t=vu.typeStr.exec(n),-1!==n.search("EMPTY")&&(t=vu.emptyTypeStr.exec(n),t[2]=void 0),t&&(r=t[1].toLowerCase(),u=t[2],ws[r]&&(i=ws[r].apply(this,[u]))),void 0===i)throw new Error("Could not parse WKT "+n);return i},write:function(n){return this.extractGeometry(n)},extractGeometry:function(n){var t=n.getGeometryType().toLowerCase(),i;return yf[t]?(i=t.toUpperCase(),n.isEmpty()?i+" EMPTY":i+"("+yf[t].apply(this,[n])+")"):null}});yf={coordinate:function(n){return n.x+" "+n.y},point:function(n){return yf.coordinate.call(this,n.coordinates.coordinates[0])},multipoint:function(n){for(var i=[],t=0,r=n.geometries.length;t<r;++t)i.push("("+yf.point.apply(this,[n.geometries[t]])+")");return i.join(",")},linestring:function(n){for(var i=[],t=0,r=n.points.coordinates.length;t<r;++t)i.push(yf.coordinate.apply(this,[n.points.coordinates[t]]));return i.join(",")},linearring:function(n){for(var i=[],t=0,r=n.points.coordinates.length;t<r;++t)i.push(yf.coordinate.apply(this,[n.points.coordinates[t]]));return i.join(",")},multilinestring:function(n){for(var i=[],t=0,r=n.geometries.length;t<r;++t)i.push("("+yf.linestring.apply(this,[n.geometries[t]])+")");return i.join(",")},polygon:function(n){var i=[],t,r;for(i.push("("+yf.linestring.apply(this,[n.shell])+")"),t=0,r=n.holes.length;t<r;++t)i.push("("+yf.linestring.apply(this,[n.holes[t]])+")");return i.join(",")},multipolygon:function(n){for(var i=[],t=0,r=n.geometries.length;t<r;++t)i.push("("+yf.polygon.apply(this,[n.geometries[t]])+")");return i.join(",")},geometrycollection:function(n){for(var i=[],t=0,r=n.geometries.length;t<r;++t)i.push(this.extractGeometry(n.geometries[t]));return i.join(",")}};ws={point:function(n){if(void 0===n)return this.geometryFactory.createPoint();var t=n.trim().split(vu.spaces);return this.geometryFactory.createPoint(new r(Number.parseFloat(t[0]),Number.parseFloat(t[1])))},multipoint:function(n){if(void 0===n)return this.geometryFactory.createMultiPoint();for(var i,r=n.trim().split(","),u=[],t=0,f=r.length;t<f;++t)i=r[t].replace(vu.trimParens,"$1"),u.push(ws.point.apply(this,[i]));return this.geometryFactory.createMultiPoint(u)},linestring:function(n){if(void 0===n)return this.geometryFactory.createLineString();for(var t,u=n.trim().split(","),f=[],i=0,e=u.length;i<e;++i)t=u[i].trim().split(vu.spaces),f.push(new r(Number.parseFloat(t[0]),Number.parseFloat(t[1])));return this.geometryFactory.createLineString(f)},linearring:function(n){if(void 0===n)return this.geometryFactory.createLinearRing();for(var t,u=n.trim().split(","),f=[],i=0,e=u.length;i<e;++i)t=u[i].trim().split(vu.spaces),f.push(new r(Number.parseFloat(t[0]),Number.parseFloat(t[1])));return this.geometryFactory.createLinearRing(f)},multilinestring:function(n){if(void 0===n)return this.geometryFactory.createMultiLineString();for(var i,r=n.trim().split(vu.parenComma),u=[],t=0,f=r.length;t<f;++t)i=r[t].replace(vu.trimParens,"$1"),u.push(ws.linestring.apply(this,[i]));return this.geometryFactory.createMultiLineString(u)},polygon:function(n){if(void 0===n)return this.geometryFactory.createPolygon();for(var r,u,i,f,e=n.trim().split(vu.parenComma),o=[],t=0,s=e.length;t<s;++t)r=e[t].replace(vu.trimParens,"$1"),u=ws.linestring.apply(this,[r]),i=this.geometryFactory.createLinearRing(u.points),0===t?f=i:o.push(i);return this.geometryFactory.createPolygon(f,o)},multipolygon:function(n){if(void 0===n)return this.geometryFactory.createMultiPolygon();for(var i,r=n.trim().split(vu.doubleParenComma),u=[],t=0,f=r.length;t<f;++t)i=r[t].replace(vu.trimParens,"$1"),u.push(ws.polygon.apply(this,[i]));return this.geometryFactory.createMultiPolygon(u)},geometrycollection:function(n){if(void 0===n)return this.geometryFactory.createGeometryCollection();n=n.replace(/,\s*([A-Za-z])/g,"|$1");for(var i=n.trim().split("|"),r=[],t=0,u=i.length;t<u;++t)r.push(this.read(i[t]));return this.geometryFactory.createGeometryCollection(r)}};t(wi.prototype,{write:function(n){return this.parser.write(n)}});t(wi,{toLineString:function(n,t){if(2!==arguments.length)throw new Error("Not implemented");return"LINESTRING ( "+n.x+" "+n.y+", "+t.x+" "+t.y+" )"}});t(ct.prototype,{getIndexAlongSegment:function(n,t){return this.computeIntLineIndex(),this.intLineIndex[n][t]},getTopologySummary:function(){var n=new su;return this.isEndPoint()&&n.append(" endpoint"),this._isProper&&n.append(" proper"),this.isCollinear()&&n.append(" collinear"),n.toString()},computeIntersection:function(n,t,i,r){this.inputLines[0][0]=n;this.inputLines[0][1]=t;this.inputLines[1][0]=i;this.inputLines[1][1]=r;this.result=this.computeIntersect(n,t,i,r)},getIntersectionNum:function(){return this.result},computeIntLineIndex:function(){if(0===arguments.length)null===this.intLineIndex&&(this.intLineIndex=Array(2).fill().map(function(){return Array(2)}),this.computeIntLineIndex(0),this.computeIntLineIndex(1));else if(1===arguments.length){var n=arguments[0],t=this.getEdgeDistance(n,0),i=this.getEdgeDistance(n,1);t>i?(this.intLineIndex[n][0]=0,this.intLineIndex[n][1]=1):(this.intLineIndex[n][0]=1,this.intLineIndex[n][1]=0)}},isProper:function(){return this.hasIntersection()&&this._isProper},setPrecisionModel:function(n){this.precisionModel=n},isInteriorIntersection:function(){if(0===arguments.length)return!!this.isInteriorIntersection(0)||!!this.isInteriorIntersection(1);if(1===arguments.length){for(var t=arguments[0],n=0;n<this.result;n++)if(!this.intPt[n].equals2D(this.inputLines[t][0])&&!this.intPt[n].equals2D(this.inputLines[t][1]))return!0;return!1}},getIntersection:function(n){return this.intPt[n]},isEndPoint:function(){return this.hasIntersection()&&!this._isProper},hasIntersection:function(){return this.result!==ct.NO_INTERSECTION},getEdgeDistance:function(n,t){return ct.computeEdgeDistance(this.intPt[t],this.inputLines[n][0],this.inputLines[n][1])},isCollinear:function(){return this.result===ct.COLLINEAR_INTERSECTION},toString:function(){return wi.toLineString(this.inputLines[0][0],this.inputLines[0][1])+" - "+wi.toLineString(this.inputLines[1][0],this.inputLines[1][1])+this.getTopologySummary()},getEndpoint:function(n,t){return this.inputLines[n][t]},isIntersection:function(n){for(var t=0;t<this.result;t++)if(this.intPt[t].equals2D(n))return!0;return!1},getIntersectionAlongSegment:function(n,t){return this.computeIntLineIndex(),this.intPt[this.intLineIndex[n][t]]},interfaces_:function(){return[]},getClass:function(){return ct}});ct.computeEdgeDistance=function(n,t,i){var u=Math.abs(i.x-t.x),f=Math.abs(i.y-t.y),r=-1,e,o;return n.equals(t)?r=0:n.equals(i)?r=u>f?u:f:(e=Math.abs(n.x-t.x),o=Math.abs(n.y-t.y),r=u>f?e:o,0!==r||n.equals(t)||(r=Math.max(e,o))),c.isTrue(!(0===r&&!n.equals(t)),"Bad distance calculation"),r};ct.nonRobustComputeEdgeDistance=function(n,t){var i=n.x-t.x,r=n.y-t.y,u=Math.sqrt(i*i+r*r);return c.isTrue(!(0===u&&!n.equals(t)),"Invalid distance calculation"),u};ct.DONT_INTERSECT=0;ct.DO_INTERSECT=1;ct.COLLINEAR=2;ct.NO_INTERSECTION=0;ct.POINT_INTERSECTION=1;ct.COLLINEAR_INTERSECTION=2;y(si,ct);t(si.prototype,{isInSegmentEnvelopes:function(n){var t=new p(this.inputLines[0][0],this.inputLines[0][1]),i=new p(this.inputLines[1][0],this.inputLines[1][1]);return t.contains(n)&&i.contains(n)},computeIntersection:function(){if(3!==arguments.length)return ct.prototype.computeIntersection.apply(this,arguments);var n=arguments[0],t=arguments[1],i=arguments[2];if(this._isProper=!1,p.intersects(t,i,n)&&0===s.orientationIndex(t,i,n)&&0===s.orientationIndex(i,t,n))return this._isProper=!0,(n.equals(t)||n.equals(i))&&(this._isProper=!1),this.result=ct.POINT_INTERSECTION,null;this.result=ct.NO_INTERSECTION},normalizeToMinimum:function(n,t,i,r,u){u.x=this.smallestInAbsValue(n.x,t.x,i.x,r.x);u.y=this.smallestInAbsValue(n.y,t.y,i.y,r.y);n.x-=u.x;n.y-=u.y;t.x-=u.x;t.y-=u.y;i.x-=u.x;i.y-=u.y;r.x-=u.x;r.y-=u.y},safeHCoordinateIntersection:function(n,t,i,r){var u=null;try{u=lr.intersection(n,t,i,r)}catch(f){if(!(f instanceof wf))throw f;u=si.nearestEndpoint(n,t,i,r)}return u},intersection:function(n,t,i,u){var f=this.intersectionWithNormalization(n,t,i,u);return this.isInSegmentEnvelopes(f)||(f=new r(si.nearestEndpoint(n,t,i,u))),null!==this.precisionModel&&this.precisionModel.makePrecise(f),f},smallestInAbsValue:function(n,t,i,r){var u=n,f=Math.abs(u);return Math.abs(t)<f&&(u=t,f=Math.abs(t)),Math.abs(i)<f&&(u=i,f=Math.abs(i)),Math.abs(r)<f&&(u=r),u},checkDD:function(n,t,i,r,u){var f=er.intersection(n,t,i,r),e=this.isInSegmentEnvelopes(f);pt.out.println("DD in env = "+e+"  --------------------- "+f);u.distance(f)>.0001&&pt.out.println("Distance = "+u.distance(f))},intersectionWithNormalization:function(n,t,i,u){var o=new r(n),s=new r(t),h=new r(i),c=new r(u),e=new r,f;return this.normalizeToEnvCentre(o,s,h,c,e),f=this.safeHCoordinateIntersection(o,s,h,c),f.x+=e.x,f.y+=e.y,f},computeCollinearIntersection:function(n,t,i,r){var u=p.intersects(n,t,i),f=p.intersects(n,t,r),e=p.intersects(i,r,n),o=p.intersects(i,r,t);return u&&f?(this.intPt[0]=i,this.intPt[1]=r,ct.COLLINEAR_INTERSECTION):e&&o?(this.intPt[0]=n,this.intPt[1]=t,ct.COLLINEAR_INTERSECTION):u&&e?(this.intPt[0]=i,this.intPt[1]=n,!i.equals(n)||f||o?ct.COLLINEAR_INTERSECTION:ct.POINT_INTERSECTION):u&&o?(this.intPt[0]=i,this.intPt[1]=t,!i.equals(t)||f||e?ct.COLLINEAR_INTERSECTION:ct.POINT_INTERSECTION):f&&e?(this.intPt[0]=r,this.intPt[1]=n,!r.equals(n)||u||o?ct.COLLINEAR_INTERSECTION:ct.POINT_INTERSECTION):f&&o?(this.intPt[0]=r,this.intPt[1]=t,!r.equals(t)||u||e?ct.COLLINEAR_INTERSECTION:ct.POINT_INTERSECTION):ct.NO_INTERSECTION},normalizeToEnvCentre:function(n,t,i,r,u){var f=n.x<t.x?n.x:t.x,e=n.y<t.y?n.y:t.y,o=n.x>t.x?n.x:t.x,s=n.y>t.y?n.y:t.y,h=i.x<r.x?i.x:r.x,c=i.y<r.y?i.y:r.y,l=i.x>r.x?i.x:r.x,a=i.y>r.y?i.y:r.y,v=f>h?f:h,y=o<l?o:l,p=e>c?e:c,w=s<a?s:a,b=(v+y)/2,k=(p+w)/2;u.x=b;u.y=k;n.x-=u.x;n.y-=u.y;t.x-=u.x;t.y-=u.y;i.x-=u.x;i.y-=u.y;r.x-=u.x;r.y-=u.y},computeIntersect:function(n,t,i,u){var f,e,o,h;return(this._isProper=!1,!p.intersects(n,t,i,u))?ct.NO_INTERSECTION:(f=s.orientationIndex(n,t,i),e=s.orientationIndex(n,t,u),f>0&&e>0||f<0&&e<0)?ct.NO_INTERSECTION:(o=s.orientationIndex(i,u,n),h=s.orientationIndex(i,u,t),o>0&&h>0||o<0&&h<0?ct.NO_INTERSECTION:0===f&&0===e&&0===o&&0===h?this.computeCollinearIntersection(n,t,i,u):(0===f||0===e||0===o||0===h?(this._isProper=!1,n.equals2D(i)||n.equals2D(u)?this.intPt[0]=n:t.equals2D(i)||t.equals2D(u)?this.intPt[0]=t:0===f?this.intPt[0]=new r(i):0===e?this.intPt[0]=new r(u):0===o?this.intPt[0]=new r(n):0===h&&(this.intPt[0]=new r(t))):(this._isProper=!0,this.intPt[0]=this.intersection(n,t,i,u)),ct.POINT_INTERSECTION))},interfaces_:function(){return[]},getClass:function(){return si}});si.nearestEndpoint=function(n,t,i,r){var e=n,f=s.distancePointLine(n,i,r),u=s.distancePointLine(t,i,r);return u<f&&(f=u,e=t),u=s.distancePointLine(i,n,t),u<f&&(f=u,e=i),u=s.distancePointLine(r,n,t),u<f&&(f=u,e=r),e};t(go.prototype,{interfaces_:function(){return[]},getClass:function(){return go}});go.orientationIndex=function(n,t,i){var r=t.x-n.x,u=t.y-n.y,f=i.x-t.x,e=i.y-t.y;return go.signOfDet2x2(r,u,f,e)};go.signOfDet2x2=function(n,t,i,r){var u=null,f=null,e=null,o=0;if(u=1,0===n||0===r)return 0===t||0===i?0:t>0?i>0?-u:u:i>0?u:-u;if(0===t||0===i)return r>0?n>0?u:-u:n>0?-u:u;if(0<t?0<r?t<=r||(u=-u,f=n,n=i,i=f,f=t,t=r,r=f):t<=-r?(u=-u,i=-i,r=-r):(f=n,n=-i,i=f,f=t,t=-r,r=f):0<r?-t<=r?(u=-u,n=-n,t=-t):(f=-n,n=i,i=f,f=-t,t=r,r=f):t>=r?(n=-n,t=-t,i=-i,r=-r):(u=-u,f=-n,n=-i,i=f,f=-t,t=-r,r=f),0<n){if(!(0<i)||!(n<=i))return u}else{if(0<i||!(n>=i))return-u;u=-u;n=-n;i=-i}for(;;){if(o+=1,e=Math.floor(i/n),i-=e*n,(r-=e*t)<0)return-u;if(r>t)return u;if(n>i+i){if(t<r+r)return u}else{if(t>r+r)return-u;i=n-i;r=t-r;u=-u}if(0===r)return 0===i?0:-u;if(0===i||(e=Math.floor(n/i),n-=e*i,(t-=e*r)<0))return u;if(t>r)return-u;if(i>n+n){if(r<t+t)return-u}else{if(r>t+t)return u;n=i-n;t=r-t;u=-u}if(0===t)return 0===n?0:u;if(0===n)return-u}};t(ns.prototype,{countSegment:function(n,t){var i,r;if(n.x<this.p.x&&t.x<this.p.x)return null;if(this.p.x===t.x&&this.p.y===t.y)return this.isPointOnSegment=!0,null;if(n.y===this.p.y&&t.y===this.p.y)return i=n.x,r=t.x,i>r&&(i=t.x,r=n.x),this.p.x>=i&&this.p.x<=r&&(this.isPointOnSegment=!0),null;if(n.y>this.p.y&&t.y<=this.p.y||t.y>this.p.y&&n.y<=this.p.y){var o=n.x-this.p.x,f=n.y-this.p.y,s=t.x-this.p.x,e=t.y-this.p.y,u=go.signOfDet2x2(o,f,s,e);if(0===u)return this.isPointOnSegment=!0,null;e<f&&(u=-u);u>0&&this.crossingCount++}},isPointInPolygon:function(){return this.getLocation()!==i.EXTERIOR},getLocation:function(){return this.isPointOnSegment?i.BOUNDARY:this.crossingCount%2==1?i.INTERIOR:i.EXTERIOR},isOnSegment:function(){return this.isPointOnSegment},interfaces_:function(){return[]},getClass:function(){return ns}});ns.locatePointInRing=function(){var i,u;if(arguments[0]instanceof r&&l(arguments[1],lt)){for(var o=arguments[0],f=arguments[1],n=new ns(o),i=new r,u=new r,t=1;t<f.size();t++)if(f.getCoordinate(t,i),f.getCoordinate(t-1,u),n.countSegment(i,u),n.isOnSegment())return n.getLocation();return n.getLocation()}if(arguments[0]instanceof r&&arguments[1]instanceof Array){for(var s=arguments[0],e=arguments[1],n=new ns(s),t=1;t<e.length;t++)if(i=e[t],u=e[t-1],n.countSegment(i,u),n.isOnSegment())return n.getLocation();return n.getLocation()}};t(s.prototype,{interfaces_:function(){return[]},getClass:function(){return s}});s.orientationIndex=function(n,t,i){return er.orientationIndex(n,t,i)};s.signedArea=function(){var t,h,c,o,s,e,u,n;if(arguments[0]instanceof Array){if(t=arguments[0],t.length<3)return 0;for(var u=0,e=t[0].x,n=1;n<t.length-1;n++)h=t[n].x-e,c=t[n+1].y,u+=h*(t[n-1].y-c);return u/2}if(l(arguments[0],lt)){if(o=arguments[0],s=o.size(),s<3)return 0;var a=new r,f=new r,i=new r;for(o.getCoordinate(0,f),o.getCoordinate(1,i),e=f.x,i.x-=e,u=0,n=1;n<s-1;n++)a.y=f.y,f.x=i.x,f.y=i.y,o.getCoordinate(n+1,i),i.x-=e,u+=f.x*(a.y-i.y);return u/2}};s.distanceLineLine=function(n,t,i,r){var u,f;if(n.equals(t))return s.distancePointLine(n,i,r);if(i.equals(r))return s.distancePointLine(r,n,t);if(u=!1,p.intersects(n,t,i,r))if(f=(t.x-n.x)*(r.y-i.y)-(t.y-n.y)*(r.x-i.x),0===f)u=!0;else{var h=(n.y-i.y)*(r.x-i.x)-(n.x-i.x)*(r.y-i.y),c=(n.y-i.y)*(t.x-n.x)-(n.x-i.x)*(t.y-n.y),e=c/f,o=h/f;(o<0||o>1||e<0||e>1)&&(u=!0)}else u=!0;return u?kr.min(s.distancePointLine(n,i,r),s.distancePointLine(t,i,r),s.distancePointLine(i,n,t),s.distancePointLine(r,n,t)):0};s.isPointInRing=function(n,t){return s.locatePointInRing(n,t)!==i.EXTERIOR};s.computeLength=function(n){var f=n.size(),i,t;if(f<=1)return 0;i=0;t=new r;n.getCoordinate(0,t);for(var e=t.x,o=t.y,u=1;u<f;u++){n.getCoordinate(u,t);var s=t.x,h=t.y,c=s-e,l=h-o;i+=Math.sqrt(c*c+l*l);e=s;o=h}return i};s.isCCW=function(n){var o=n.length-1,c,i,r,f,e,l;if(o<3)throw new ft("Ring has fewer than 4 points, so orientation cannot be determined");for(var t=n[0],u=0,h=1;h<=o;h++)c=n[h],c.y>t.y&&(t=c,u=h);i=u;do(i-=1)<0&&(i=o);while(n[i].equals2D(t)&&i!==u);r=u;do r=(r+1)%o;while(n[r].equals2D(t)&&r!==u);return(f=n[i],e=n[r],f.equals2D(t)||e.equals2D(t)||f.equals2D(e))?!1:(l=s.computeOrientation(f,t,e),0===l?f.x>e.x:l>0)};s.locatePointInRing=function(n,t){return ns.locatePointInRing(n,t)};s.distancePointLinePerpendicular=function(n,t,i){var r=(i.x-t.x)*(i.x-t.x)+(i.y-t.y)*(i.y-t.y),u=((t.y-n.y)*(i.x-t.x)-(t.x-n.x)*(i.y-t.y))/r;return Math.abs(u)*Math.sqrt(r)};s.computeOrientation=function(n,t,i){return s.orientationIndex(n,t,i)};s.distancePointLine=function(){var o,r,f,u,h,e,c,l;if(2===arguments.length){if(o=arguments[0],r=arguments[1],0===r.length)throw new ft("Line array must contain at least one vertex");for(f=o.distance(r[0]),u=0;u<r.length-1;u++)h=s.distancePointLine(o,r[u],r[u+1]),h<f&&(f=h);return f}if(3===arguments.length){var i=arguments[0],n=arguments[1],t=arguments[2];return n.x===t.x&&n.y===t.y?i.distance(n):(e=(t.x-n.x)*(t.x-n.x)+(t.y-n.y)*(t.y-n.y),c=((i.x-n.x)*(t.x-n.x)+(i.y-n.y)*(t.y-n.y))/e,c<=0)?i.distance(n):c>=1?i.distance(t):(l=((n.y-i.y)*(t.x-n.x)-(n.x-i.x)*(t.y-n.y))/e,Math.abs(l)*Math.sqrt(e))}};s.isOnLine=function(n,t){for(var u,f,r=new si,i=1;i<t.length;i++)if(u=t[i-1],f=t[i],r.computeIntersection(n,u,f),r.hasIntersection())return!0;return!1};s.CLOCKWISE=-1;s.RIGHT=s.CLOCKWISE;s.COUNTERCLOCKWISE=1;s.LEFT=s.COUNTERCLOCKWISE;s.COLLINEAR=0;s.STRAIGHT=s.COLLINEAR;t(b.prototype,{minX:function(){return Math.min(this.p0.x,this.p1.x)},orientationIndex:function(){var u;if(arguments[0]instanceof b){var i=arguments[0],n=s.orientationIndex(this.p0,this.p1,i.p0),t=s.orientationIndex(this.p0,this.p1,i.p1);return n>=0&&t>=0?Math.max(n,t):n<=0&&t<=0?Math.max(n,t):0}if(arguments[0]instanceof r)return u=arguments[0],s.orientationIndex(this.p0,this.p1,u)},toGeometry:function(n){return n.createLineString([this.p0,this.p1])},isVertical:function(){return this.p0.x===this.p1.x},equals:function(n){if(!(n instanceof b))return!1;var t=n;return this.p0.equals(t.p0)&&this.p1.equals(t.p1)},intersection:function(n){var t=new si;return t.computeIntersection(this.p0,this.p1,n.p0,n.p1),t.hasIntersection()?t.getIntersection(0):null},project:function(){var n,s,t,e,o;if(arguments[0]instanceof r)return(n=arguments[0],n.equals(this.p0)||n.equals(this.p1))?new r(n):(s=this.projectionFactor(n),t=new r,t.x=this.p0.x+s*(this.p1.x-this.p0.x),t.y=this.p0.y+s*(this.p1.y-this.p0.y),t);if(arguments[0]instanceof b){var i=arguments[0],u=this.projectionFactor(i.p0),f=this.projectionFactor(i.p1);return u>=1&&f>=1?null:u<=0&&f<=0?null:(e=this.project(i.p0),u<0&&(e=this.p0),u>1&&(e=this.p1),o=this.project(i.p1),f<0&&(o=this.p0),f>1&&(o=this.p1),new b(e,o))}},normalize:function(){this.p1.compareTo(this.p0)<0&&this.reverse()},angle:function(){return Math.atan2(this.p1.y-this.p0.y,this.p1.x-this.p0.x)},getCoordinate:function(n){return 0===n?this.p0:this.p1},distancePerpendicular:function(n){return s.distancePointLinePerpendicular(n,this.p0,this.p1)},minY:function(){return Math.min(this.p0.y,this.p1.y)},midPoint:function(){return b.midPoint(this.p0,this.p1)},projectionFactor:function(n){if(n.equals(this.p0))return 0;if(n.equals(this.p1))return 1;var t=this.p1.x-this.p0.x,i=this.p1.y-this.p0.y,r=t*t+i*i;return r<=0?a.NaN:((n.x-this.p0.x)*t+(n.y-this.p0.y)*i)/r},closestPoints:function(n){var u=this.intersection(n),f,e,o;if(null!==u)return[u,u];var t=new Array(2).fill(null),i=a.MAX_VALUE,r=null,s=this.closestPoint(n.p0);return i=s.distance(n.p0),t[0]=s,t[1]=n.p0,f=this.closestPoint(n.p1),(r=f.distance(n.p1))<i&&(i=r,t[0]=f,t[1]=n.p1),e=n.closestPoint(this.p0),(r=e.distance(this.p0))<i&&(i=r,t[0]=this.p0,t[1]=e),o=n.closestPoint(this.p1),r=o.distance(this.p1),r<i&&(i=r,t[0]=this.p1,t[1]=o),t},closestPoint:function(n){var t=this.projectionFactor(n);return t>0&&t<1?this.project(n):this.p0.distance(n)<this.p1.distance(n)?this.p0:this.p1},maxX:function(){return Math.max(this.p0.x,this.p1.x)},getLength:function(){return this.p0.distance(this.p1)},compareTo:function(n){var t=n,i=this.p0.compareTo(t.p0);return 0!==i?i:this.p1.compareTo(t.p1)},reverse:function(){var n=this.p0;this.p0=this.p1;this.p1=n},equalsTopo:function(n){return this.p0.equals(n.p0)&&this.p1.equals(n.p1)||this.p0.equals(n.p1)&&this.p1.equals(n.p0)},lineIntersection:function(n){try{return lr.intersection(this.p0,this.p1,n.p0,n.p1)}catch(n){if(!(n instanceof wf))throw n;}return null},maxY:function(){return Math.max(this.p0.y,this.p1.y)},pointAlongOffset:function(n,t){var s=this.p0.x+n*(this.p1.x-this.p0.x),h=this.p0.y+n*(this.p1.y-this.p0.y),i=this.p1.x-this.p0.x,u=this.p1.y-this.p0.y,f=Math.sqrt(i*i+u*u),e=0,o=0;if(0!==t){if(f<=0)throw new IllegalStateException("Cannot compute offset from zero-length line segment");e=t*i/f;o=t*u/f}return new r(s-o,h+e)},setCoordinates:function(){var n,t,i;1===arguments.length?(n=arguments[0],this.setCoordinates(n.p0,n.p1)):2===arguments.length&&(t=arguments[0],i=arguments[1],this.p0.x=t.x,this.p0.y=t.y,this.p1.x=i.x,this.p1.y=i.y)},segmentFraction:function(n){var t=this.projectionFactor(n);return t<0?t=0:(t>1||a.isNaN(t))&&(t=1),t},toString:function(){return"LINESTRING( "+this.p0.x+" "+this.p0.y+", "+this.p1.x+" "+this.p1.y+")"},isHorizontal:function(){return this.p0.y===this.p1.y},distance:function(){var n,t;return arguments[0]instanceof b?(n=arguments[0],s.distanceLineLine(this.p0,this.p1,n.p0,n.p1)):arguments[0]instanceof r?(t=arguments[0],s.distancePointLine(t,this.p0,this.p1)):void 0},pointAlong:function(n){var t=new r;return t.x=this.p0.x+n*(this.p1.x-this.p0.x),t.y=this.p0.y+n*(this.p1.y-this.p0.y),t},hashCode:function(){var t=java.lang.Double.doubleToLongBits(this.p0.x),i,n;return t^=31*java.lang.Double.doubleToLongBits(this.p0.y),i=Math.trunc(t)^Math.trunc(t>>32),n=java.lang.Double.doubleToLongBits(this.p1.x),n^=31*java.lang.Double.doubleToLongBits(this.p1.y),i^Math.trunc(n)^Math.trunc(n>>32)},interfaces_:function(){return[ur,fr]},getClass:function(){return b}});b.midPoint=function(n,t){return new r((n.x+t.x)/2,(n.y+t.y)/2)};b.serialVersionUID=0x2d2172135f411c00;t(st.prototype,{isIntersects:function(){return!this.isDisjoint()},isCovers:function(){return(st.isTrue(this.matrix[i.INTERIOR][i.INTERIOR])||st.isTrue(this.matrix[i.INTERIOR][i.BOUNDARY])||st.isTrue(this.matrix[i.BOUNDARY][i.INTERIOR])||st.isTrue(this.matrix[i.BOUNDARY][i.BOUNDARY]))&&this.matrix[i.EXTERIOR][i.INTERIOR]===e.FALSE&&this.matrix[i.EXTERIOR][i.BOUNDARY]===e.FALSE},isCoveredBy:function(){return(st.isTrue(this.matrix[i.INTERIOR][i.INTERIOR])||st.isTrue(this.matrix[i.INTERIOR][i.BOUNDARY])||st.isTrue(this.matrix[i.BOUNDARY][i.INTERIOR])||st.isTrue(this.matrix[i.BOUNDARY][i.BOUNDARY]))&&this.matrix[i.INTERIOR][i.EXTERIOR]===e.FALSE&&this.matrix[i.BOUNDARY][i.EXTERIOR]===e.FALSE},set:function(){var t,n,i,r;if(1===arguments.length)for(t=arguments[0],n=0;n<t.length;n++)i=Math.trunc(n/3),r=n%3,this.matrix[i][r]=e.toDimensionValue(t.charAt(n));else if(3===arguments.length){var u=arguments[0],f=arguments[1],o=arguments[2];this.matrix[u][f]=o}},isContains:function(){return st.isTrue(this.matrix[i.INTERIOR][i.INTERIOR])&&this.matrix[i.EXTERIOR][i.INTERIOR]===e.FALSE&&this.matrix[i.EXTERIOR][i.BOUNDARY]===e.FALSE},setAtLeast:function(){var t,n,i,r;if(1===arguments.length)for(t=arguments[0],n=0;n<t.length;n++)i=Math.trunc(n/3),r=n%3,this.setAtLeast(i,r,e.toDimensionValue(t.charAt(n)));else if(3===arguments.length){var u=arguments[0],f=arguments[1],o=arguments[2];this.matrix[u][f]<o&&(this.matrix[u][f]=o)}},setAtLeastIfValid:function(n,t,i){n>=0&&t>=0&&this.setAtLeast(n,t,i)},isWithin:function(){return st.isTrue(this.matrix[i.INTERIOR][i.INTERIOR])&&this.matrix[i.INTERIOR][i.EXTERIOR]===e.FALSE&&this.matrix[i.BOUNDARY][i.EXTERIOR]===e.FALSE},isTouches:function(n,t){return n>t?this.isTouches(t,n):(n===e.A&&t===e.A||n===e.L&&t===e.L||n===e.L&&t===e.A||n===e.P&&t===e.A||n===e.P&&t===e.L)&&this.matrix[i.INTERIOR][i.INTERIOR]===e.FALSE&&(st.isTrue(this.matrix[i.INTERIOR][i.BOUNDARY])||st.isTrue(this.matrix[i.BOUNDARY][i.INTERIOR])||st.isTrue(this.matrix[i.BOUNDARY][i.BOUNDARY]))},isOverlaps:function(n,t){return n===e.P&&t===e.P||n===e.A&&t===e.A?st.isTrue(this.matrix[i.INTERIOR][i.INTERIOR])&&st.isTrue(this.matrix[i.INTERIOR][i.EXTERIOR])&&st.isTrue(this.matrix[i.EXTERIOR][i.INTERIOR]):n===e.L&&t===e.L&&1===this.matrix[i.INTERIOR][i.INTERIOR]&&st.isTrue(this.matrix[i.INTERIOR][i.EXTERIOR])&&st.isTrue(this.matrix[i.EXTERIOR][i.INTERIOR])},isEquals:function(n,t){return n===t&&st.isTrue(this.matrix[i.INTERIOR][i.INTERIOR])&&this.matrix[i.INTERIOR][i.EXTERIOR]===e.FALSE&&this.matrix[i.BOUNDARY][i.EXTERIOR]===e.FALSE&&this.matrix[i.EXTERIOR][i.INTERIOR]===e.FALSE&&this.matrix[i.EXTERIOR][i.BOUNDARY]===e.FALSE},toString:function(){for(var t,i=new su("123456789"),n=0;n<3;n++)for(t=0;t<3;t++)i.setCharAt(3*n+t,e.toDimensionSymbol(this.matrix[n][t]));return i.toString()},setAll:function(n){for(var i,t=0;t<3;t++)for(i=0;i<3;i++)this.matrix[t][i]=n},get:function(n,t){return this.matrix[n][t]},transpose:function(){var n=this.matrix[1][0];return this.matrix[1][0]=this.matrix[0][1],this.matrix[0][1]=n,n=this.matrix[2][0],this.matrix[2][0]=this.matrix[0][2],this.matrix[0][2]=n,n=this.matrix[2][1],this.matrix[2][1]=this.matrix[1][2],this.matrix[1][2]=n,this},matches:function(n){var t,i;if(9!==n.length)throw new ft("Should be length 9: "+n);for(t=0;t<3;t++)for(i=0;i<3;i++)if(!st.matches(this.matrix[t][i],n.charAt(3*t+i)))return!1;return!0},add:function(n){for(var i,t=0;t<3;t++)for(i=0;i<3;i++)this.setAtLeast(t,i,n.get(t,i))},isDisjoint:function(){return this.matrix[i.INTERIOR][i.INTERIOR]===e.FALSE&&this.matrix[i.INTERIOR][i.BOUNDARY]===e.FALSE&&this.matrix[i.BOUNDARY][i.INTERIOR]===e.FALSE&&this.matrix[i.BOUNDARY][i.BOUNDARY]===e.FALSE},isCrosses:function(n,t){return n===e.P&&t===e.L||n===e.P&&t===e.A||n===e.L&&t===e.A?st.isTrue(this.matrix[i.INTERIOR][i.INTERIOR])&&st.isTrue(this.matrix[i.INTERIOR][i.EXTERIOR]):n===e.L&&t===e.P||n===e.A&&t===e.P||n===e.A&&t===e.L?st.isTrue(this.matrix[i.INTERIOR][i.INTERIOR])&&st.isTrue(this.matrix[i.EXTERIOR][i.INTERIOR]):n===e.L&&t===e.L&&0===this.matrix[i.INTERIOR][i.INTERIOR]},interfaces_:function(){return[tc]},getClass:function(){return st}});st.matches=function(){var n,t,i,r;return Number.isInteger(arguments[0])&&"string"==typeof arguments[1]?(n=arguments[0],t=arguments[1],t===e.SYM_DONTCARE||t===e.SYM_TRUE&&(n>=0||n===e.TRUE)||t===e.SYM_FALSE&&n===e.FALSE||t===e.SYM_P&&n===e.P||t===e.SYM_L&&n===e.L||t===e.SYM_A&&n===e.A):"string"==typeof arguments[0]&&"string"==typeof arguments[1]?(i=arguments[0],r=arguments[1],new st(i).matches(r)):void 0};st.isTrue=function(n){return n>=0||n===e.TRUE};db=Object.freeze({Coordinate:r,CoordinateList:gt,Envelope:p,LineSegment:b,GeometryFactory:g,Geometry:h,Point:bt,LineString:d,LinearRing:ni,Polygon:ht,GeometryCollection:nt,MultiPoint:ar,MultiLineString:nr,MultiPolygon:vi,Dimension:e,IntersectionMatrix:st,PrecisionModel:et});t(te.prototype,{addPoint:function(n){this.ptCount+=1;this.ptCentSum.x+=n.x;this.ptCentSum.y+=n.y},setBasePoint:function(n){null===this.areaBasePt&&(this.areaBasePt=n)},addLineSegments:function(n){for(var i,u,f,r=0,t=0;t<n.length-1;t++)i=n[t].distance(n[t+1]),0!==i&&(r+=i,u=(n[t].x+n[t+1].x)/2,this.lineCentSum.x+=i*u,f=(n[t].y+n[t+1].y)/2,this.lineCentSum.y+=i*f);this.totalLength+=r;0===r&&n.length>0&&this.addPoint(n[0])},addHole:function(n){for(var i=s.isCCW(n),t=0;t<n.length-1;t++)this.addTriangle(this.areaBasePt,n[t],n[t+1],i);this.addLineSegments(n)},getCentroid:function(){var n=new r;if(Math.abs(this.areasum2)>0)n.x=this.cg3.x/3/this.areasum2,n.y=this.cg3.y/3/this.areasum2;else if(this.totalLength>0)n.x=this.lineCentSum.x/this.totalLength,n.y=this.lineCentSum.y/this.totalLength;else{if(!(this.ptCount>0))return null;n.x=this.ptCentSum.x/this.ptCount;n.y=this.ptCentSum.y/this.ptCount}return n},addShell:function(n){n.length>0&&this.setBasePoint(n[0]);for(var i=!s.isCCW(n),t=0;t<n.length-1;t++)this.addTriangle(this.areaBasePt,n[t],n[t+1],i);this.addLineSegments(n)},addTriangle:function(n,t,i,r){var f=r?1:-1,u;te.centroid3(n,t,i,this.triangleCent3);u=te.area2(n,t,i);this.cg3.x+=f*u*this.triangleCent3.x;this.cg3.y+=f*u*this.triangleCent3.y;this.areasum2+=f*u},add:function(){var i,n,u,r,t;if(arguments[0]instanceof ht)for(i=arguments[0],this.addShell(i.getExteriorRing().getCoordinates()),t=0;t<i.getNumInteriorRing();t++)this.addHole(i.getInteriorRingN(t).getCoordinates());else if(arguments[0]instanceof h){if(n=arguments[0],n.isEmpty())return null;if(n instanceof bt)this.addPoint(n.getCoordinate());else if(n instanceof d)this.addLineSegments(n.getCoordinates());else if(n instanceof ht)u=n,this.add(u);else if(n instanceof nt)for(r=n,t=0;t<r.getNumGeometries();t++)this.add(r.getGeometryN(t))}},interfaces_:function(){return[]},getClass:function(){return te}});te.area2=function(n,t,i){return(t.x-n.x)*(i.y-n.y)-(i.x-n.x)*(t.y-n.y)};te.centroid3=function(n,t,i,r){return r.x=n.x+t.x+i.x,r.y=n.y+t.y+i.y,null};te.getCentroid=function(n){return new te(n).getCentroid()};ga.prototype=new Error;ga.prototype.name="EmptyStackException";tr.prototype=new ei;tr.prototype.add=function(n){return this.array_.push(n),!0};tr.prototype.get=function(n){if(n<0||n>=this.size())throw new IndexOutOfBoundsException;return this.array_[n]};tr.prototype.push=function(n){return this.array_.push(n),n};tr.prototype.pop=function(){if(0===this.array_.length)throw new ga;return this.array_.pop()};tr.prototype.peek=function(){if(0===this.array_.length)throw new ga;return this.array_[this.array_.length-1]};tr.prototype.empty=function(){return 0===this.array_.length};tr.prototype.isEmpty=function(){return this.empty()};tr.prototype.search=function(n){return this.array_.indexOf(n)};tr.prototype.size=function(){return this.array_.length};tr.prototype.toArray=function(){for(var t=[],n=0,i=this.array_.length;n<i;n++)t.push(this.array_[n]);return t};t(ds.prototype,{filter:function(n){this.treeSet.contains(n)||(this.list.add(n),this.treeSet.add(n))},getCoordinates:function(){var n=new Array(this.list.size()).fill(null);return this.list.toArray(n)},interfaces_:function(){return[ge]},getClass:function(){return ds}});ds.filterCoordinates=function(n){for(var i=new ds,t=0;t<n.length;t++)i.filter(n[t]);return i.getCoordinates()};t(ie.prototype,{preSort:function(n){for(var i=null,t=1;t<n.length;t++)(n[t].y<n[0].y||n[t].y===n[0].y&&n[t].x<n[0].x)&&(i=n[0],n[0]=n[t],n[t]=i);return kf.sort(n,1,n.length,new gs(n[0])),n},computeOctRing:function(n){var i=this.computeOctPts(n),t=new gt;return t.add(i,!1),t.size()<3?null:(t.closeRing(),t.toCoordinateArray())},lineOrPolygon:function(n){if(n=this.cleanRing(n),3===n.length)return this.geomFactory.createLineString([n[0],n[1]]);var t=this.geomFactory.createLinearRing(n);return this.geomFactory.createPolygon(t,null)},cleanRing:function(n){var t,e,o;c.equals(n[0],n[n.length-1]);for(var i=new u,f=null,r=0;r<=n.length-2;r++)t=n[r],e=n[r+1],t.equals(e)||null!==f&&this.isBetween(f,t,e)||(i.add(t),f=t);return i.add(n[n.length-1]),o=new Array(i.size()).fill(null),i.toArray(o)},isBetween:function(n,t,i){return 0!==s.computeOrientation(n,t,i)?!1:n.x!==i.x&&(n.x<=t.x&&t.x<=i.x||i.x<=t.x&&t.x<=n.x)?!0:n.y!==i.y&&(n.y<=t.y&&t.y<=i.y||i.y<=t.y&&t.y<=n.y)?!0:!1},reduce:function(n){var i=this.computeOctRing(n),r,t,u;if(null===i)return n;for(r=new gi,t=0;t<i.length;t++)r.add(i[t]);for(t=0;t<n.length;t++)s.isPointInRing(n[t],i)||r.add(n[t]);return u=w.toCoordinateArray(r),u.length<3?this.padArray3(u):u},getConvexHull:function(){var n;if(0===this.inputPts.length)return this.geomFactory.createGeometryCollection(null);if(1===this.inputPts.length)return this.geomFactory.createPoint(this.inputPts[0]);if(2===this.inputPts.length)return this.geomFactory.createLineString(this.inputPts);n=this.inputPts;this.inputPts.length>50&&(n=this.reduce(this.inputPts));var t=this.preSort(n),i=this.grahamScan(t),r=this.toCoordinateArray(i);return this.lineOrPolygon(r)},padArray3:function(n){for(var i=new Array(3).fill(null),t=0;t<i.length;t++)i[t]=t<n.length?n[t]:n[0];return i},computeOctPts:function(n){for(var i,t=new Array(8).fill(null),r=0;r<t.length;r++)t[r]=n[0];for(i=1;i<n.length;i++)n[i].x<t[0].x&&(t[0]=n[i]),n[i].x-n[i].y<t[1].x-t[1].y&&(t[1]=n[i]),n[i].y>t[2].y&&(t[2]=n[i]),n[i].x+n[i].y>t[3].x+t[3].y&&(t[3]=n[i]),n[i].x>t[4].x&&(t[4]=n[i]),n[i].x-n[i].y>t[5].x-t[5].y&&(t[5]=n[i]),n[i].y<t[6].y&&(t[6]=n[i]),n[i].x+n[i].y<t[7].x+t[7].y&&(t[7]=n[i]);return t},toCoordinateArray:function(n){for(var r,i=new Array(n.size()).fill(null),t=0;t<n.size();t++)r=n.get(t),i[t]=r;return i},grahamScan:function(n){var i=null,t=new tr,r;for(i=t.push(n[0]),i=t.push(n[1]),i=t.push(n[2]),r=3;r<n.length;r++){for(i=t.pop();!t.empty()&&s.computeOrientation(t.peek(),i,n[r])>0;)i=t.pop();i=t.push(i);i=t.push(n[r])}return i=t.push(n[0]),t},interfaces_:function(){return[]},getClass:function(){return ie}});ie.extractCoordinates=function(n){var t=new ds;return n.apply(t),t.getCoordinates()};t(gs.prototype,{compare:function(n,t){var i=n,r=t;return gs.polarCompare(this.origin,i,r)},interfaces_:function(){return[ke]},getClass:function(){return gs}});gs.polarCompare=function(n,t,i){var f=t.x-n.x,e=t.y-n.y,o=i.x-n.x,h=i.y-n.y,c=s.computeOrientation(n,t,i),r,u;return c===s.COUNTERCLOCKWISE?1:c===s.CLOCKWISE?-1:(r=f*f+e*e,u=o*o+h*h,r<u?-1:r>u?1:0)};ie.RadialComparator=gs;t(or.prototype,{transformPoint:function(n){return this.factory.createPoint(this.transformCoordinates(n.getCoordinateSequence(),n))},transformPolygon:function(n){var o=!0,t=this.transformLinearRing(n.getExteriorRing(),n),r,f,i,e;for(null!==t&&t instanceof ni&&!t.isEmpty()||(o=!1),r=new u,f=0;f<n.getNumInteriorRing();f++)i=this.transformLinearRing(n.getInteriorRingN(f),n),null===i||i.isEmpty()||(i instanceof ni||(o=!1),r.add(i));return o?this.factory.createPolygon(t,r.toArray([])):(e=new u,null!==t&&e.add(t),e.addAll(r),this.factory.buildGeometry(e))},createCoordinateSequence:function(n){return this.factory.getCoordinateSequenceFactory().create(n)},getInputGeometry:function(){return this.inputGeom},transformMultiLineString:function(n){for(var i,r=new u,t=0;t<n.getNumGeometries();t++)i=this.transformLineString(n.getGeometryN(t),n),null!==i&&(i.isEmpty()||r.add(i));return this.factory.buildGeometry(r)},transformCoordinates:function(n){return this.copy(n)},transformLineString:function(n){return this.factory.createLineString(this.transformCoordinates(n.getCoordinateSequence(),n))},transformMultiPoint:function(n){for(var i,r=new u,t=0;t<n.getNumGeometries();t++)i=this.transformPoint(n.getGeometryN(t),n),null!==i&&(i.isEmpty()||r.add(i));return this.factory.buildGeometry(r)},transformMultiPolygon:function(n){for(var i,r=new u,t=0;t<n.getNumGeometries();t++)i=this.transformPolygon(n.getGeometryN(t),n),null!==i&&(i.isEmpty()||r.add(i));return this.factory.buildGeometry(r)},copy:function(n){return n.copy()},transformGeometryCollection:function(n){for(var r,t=new u,i=0;i<n.getNumGeometries();i++)r=this.transform(n.getGeometryN(i)),null!==r&&(this.pruneEmptyGeometry&&r.isEmpty()||t.add(r));return this.preserveGeometryCollectionType?this.factory.createGeometryCollection(g.toGeometryArray(t)):this.factory.buildGeometry(t)},transform:function(n){if(this.inputGeom=n,this.factory=n.getFactory(),n instanceof bt)return this.transformPoint(n,null);if(n instanceof ar)return this.transformMultiPoint(n,null);if(n instanceof ni)return this.transformLinearRing(n,null);if(n instanceof d)return this.transformLineString(n,null);if(n instanceof nr)return this.transformMultiLineString(n,null);if(n instanceof ht)return this.transformPolygon(n,null);if(n instanceof vi)return this.transformMultiPolygon(n,null);if(n instanceof nt)return this.transformGeometryCollection(n,null);throw new ft("Unknown Geometry subtype: "+n.getClass().getName());},transformLinearRing:function(n){var t=this.transformCoordinates(n.getCoordinateSequence(),n),i;return null===t?this.factory.createLinearRing(null):(i=t.size(),i>0&&i<4&&!this.preserveType?this.factory.createLineString(t):this.factory.createLinearRing(t))},interfaces_:function(){return[]},getClass:function(){return or}});t(nh.prototype,{snapVertices:function(n,t){for(var e,u,f=this._isClosed?n.size()-1:n.size(),i=0;i<f;i++)e=n.get(i),u=this.findSnapForVertex(e,t),null!==u&&(n.set(i,new r(u)),0===i&&this._isClosed&&n.set(n.size()-1,new r(u)))},findSnapForVertex:function(n,t){for(var i=0;i<t.length;i++){if(n.equals2D(t[i]))return null;if(n.distance(t[i])<this.snapTolerance)return t[i]}return null},snapTo:function(n){var t=new gt(this.srcPts);return this.snapVertices(t,n),this.snapSegments(t,n),t.toCoordinateArray()},snapSegments:function(n,t){var u,i,f,e;if(0===t.length)return null;for(u=t.length,t[0].equals2D(t[t.length-1])&&(u=t.length-1),i=0;i<u;i++)f=t[i],e=this.findSegmentIndexToSnap(f,n),e>=0&&n.add(e+1,new r(f),!1)},findSegmentIndexToSnap:function(n,t){for(var r,u=a.MAX_VALUE,f=-1,i=0;i<t.size()-1;i++){if(this.seg.p0=t.get(i),this.seg.p1=t.get(i+1),this.seg.p0.equals2D(n)||this.seg.p1.equals2D(n)){if(this.allowSnappingToSourceVertices)continue;return-1}r=this.seg.distance(n);r<this.snapTolerance&&r<u&&(u=r,f=i)}return f},setAllowSnappingToSourceVertices:function(n){this.allowSnappingToSourceVertices=n},interfaces_:function(){return[]},getClass:function(){return nh}});nh.isClosed=function(n){return!(n.length<=1)&&n[0].equals2D(n[n.length-1])};t(ir.prototype,{snapTo:function(n,t){return new ec(t,this.extractTargetCoordinates(n)).transform(this.srcGeom)},snapToSelf:function(n,t){var u=this.extractTargetCoordinates(this.srcGeom),f=new ec(n,u,!0),r=f.transform(this.srcGeom),i=r;return t&&l(i,gf)&&(i=r.buffer(0)),i},computeSnapTolerance:function(n){return this.computeMinimumSegmentLength(n)/10},extractTargetCoordinates:function(n){for(var i=new gi,r=n.getCoordinates(),t=0;t<r.length;t++)i.add(r[t]);return i.toArray(new Array(0).fill(null))},computeMinimumSegmentLength:function(n){for(var r,i=a.MAX_VALUE,t=0;t<n.length-1;t++)r=n[t].distance(n[t+1]),r<i&&(i=r);return i},interfaces_:function(){return[]},getClass:function(){return ir}});ir.snap=function(n,t,i){var r=new Array(2).fill(null),f=new ir(n),u;return r[0]=f.snapTo(t,i),u=new ir(t),r[1]=u.snapTo(r[0],i),r};ir.computeOverlaySnapTolerance=function(){var t,u,f;if(1===arguments.length){var i=arguments[0],n=ir.computeSizeBasedSnapTolerance(i),r=i.getPrecisionModel();return r.getType()===et.FIXED&&(t=2/r.getScale()/1.415,t>n&&(n=t)),n}if(2===arguments.length)return u=arguments[0],f=arguments[1],Math.min(ir.computeOverlaySnapTolerance(u),ir.computeOverlaySnapTolerance(f))};ir.computeSizeBasedSnapTolerance=function(n){var t=n.getEnvelopeInternal();return Math.min(t.getHeight(),t.getWidth())*ir.SNAP_PRECISION_FACTOR};ir.snapToSelf=function(n,t,i){return new ir(n).snapToSelf(t,i)};ir.SNAP_PRECISION_FACTOR=1e-9;y(ec,or);t(ec.prototype,{snapLine:function(n,t){var i=new nh(n,this.snapTolerance);return i.setAllowSnappingToSourceVertices(this.isSelfSnap),i.snapTo(t)},transformCoordinates:function(n){var t=n.toCoordinateArray(),i=this.snapLine(t,this.snapPts);return this.factory.getCoordinateSequenceFactory().create(i)},interfaces_:function(){return[]},getClass:function(){return ec}});t(tu.prototype,{getCommon:function(){return a.longBitsToDouble(this.commonBits)},add:function(n){var t=a.doubleToLongBits(n);return this.isFirst?(this.commonBits=t,this.commonSignExp=tu.signExpBits(this.commonBits),this.isFirst=!1,null):tu.signExpBits(t)!==this.commonSignExp?(this.commonBits=0,null):(this.commonMantissaBitsCount=tu.numCommonMostSigMantissaBits(this.commonBits,t),void(this.commonBits=tu.zeroLowerBits(this.commonBits,64-(12+this.commonMantissaBitsCount))))},toString:function(){if(1===arguments.length){var t=arguments[0],r=a.longBitsToDouble(t),u=Long.toBinaryString(t),i="0000000000000000000000000000000000000000000000000000000000000000"+u,n=i.substring(i.length-64);return n.substring(0,1)+"  "+n.substring(1,12)+"(exp) "+n.substring(12)+" [ "+r+" ]"}},interfaces_:function(){return[]},getClass:function(){return tu}});tu.getBit=function(n,t){return 0!=(n&1<<t)?1:0};tu.signExpBits=function(n){return n>>52};tu.zeroLowerBits=function(n,t){return n&~((1<<t)-1)};tu.numCommonMostSigMantissaBits=function(n,t){for(var r=0,i=52;i>=0;i--){if(tu.getBit(n,i)!==tu.getBit(t,i))return r;r++}return 52};t(oc.prototype,{addCommonBits:function(n){var t=new sc(this.commonCoord);n.apply(t);n.geometryChanged()},removeCommonBits:function(n){var t,i;return 0===this.commonCoord.x&&0===this.commonCoord.y?n:(t=new r(this.commonCoord),t.x=-t.x,t.y=-t.y,i=new sc(t),n.apply(i),n.geometryChanged(),n)},getCommonCoordinate:function(){return this.commonCoord},add:function(n){n.apply(this.ccFilter);this.commonCoord=this.ccFilter.getCommonCoordinate()},interfaces_:function(){return[]},getClass:function(){return oc}});t(nv.prototype,{filter:function(n){this.commonBitsX.add(n.x);this.commonBitsY.add(n.y)},getCommonCoordinate:function(){return new r(this.commonBitsX.getCommon(),this.commonBitsY.getCommon())},interfaces_:function(){return[ge]},getClass:function(){return nv}});t(sc.prototype,{filter:function(n,t){var i=n.getOrdinate(t,0)+this.trans.x,r=n.getOrdinate(t,1)+this.trans.y;n.setOrdinate(t,0,i);n.setOrdinate(t,1,r)},isDone:function(){return!1},isGeometryChanged:function(){return!0},interfaces_:function(){return[ko]},getClass:function(){return sc}});oc.CommonCoordinateFilter=nv;oc.Translater=sc;t(ts.prototype,{next:function(){if(this.atStart)return this.atStart=!1,ts.isAtomic(this.parent)&&this.index++,this.parent;if(null!==this.subcollectionIterator){if(this.subcollectionIterator.hasNext())return this.subcollectionIterator.next();this.subcollectionIterator=null}if(this.index>=this.max)throw new ks;var n=this.parent.getGeometryN(this.index++);return n instanceof nt?(this.subcollectionIterator=new ts(n),this.subcollectionIterator.next()):n},remove:function(){throw new UnsupportedOperationException(this.getClass().getName());},hasNext:function(){if(this.atStart)return!0;if(null!==this.subcollectionIterator){if(this.subcollectionIterator.hasNext())return!0;this.subcollectionIterator=null}return!(this.index>=this.max)},interfaces_:function(){return[ic]},getClass:function(){return ts}});ts.isAtomic=function(n){return!(n instanceof nt)};t(is.prototype,{locateInternal:function(){var o,n,l,h,f,a,c,t,e,u,v;if(arguments[0]instanceof r&&arguments[1]instanceof ht){if((o=arguments[0],n=arguments[1],n.isEmpty())||(l=n.getExteriorRing(),h=this.locateInPolygonRing(o,l),h===i.EXTERIOR))return i.EXTERIOR;if(h===i.BOUNDARY)return i.BOUNDARY;for(f=0;f<n.getNumInteriorRing();f++){if(a=n.getInteriorRingN(f),c=this.locateInPolygonRing(o,a),c===i.INTERIOR)return i.EXTERIOR;if(c===i.BOUNDARY)return i.BOUNDARY}return i.INTERIOR}return arguments[0]instanceof r&&arguments[1]instanceof d?(t=arguments[0],e=arguments[1],!e.getEnvelopeInternal().intersects(t))?i.EXTERIOR:(u=e.getCoordinates(),e.isClosed()||!t.equals(u[0])&&!t.equals(u[u.length-1])?s.isOnLine(t,u)?i.INTERIOR:i.EXTERIOR:i.BOUNDARY):arguments[0]instanceof r&&arguments[1]instanceof bt?(v=arguments[0],arguments[1].getCoordinate().equals2D(v)?i.INTERIOR:i.EXTERIOR):void 0},locateInPolygonRing:function(n,t){return t.getEnvelopeInternal().intersects(n)?s.locatePointInRing(n,t.getCoordinates()):i.EXTERIOR},intersects:function(n,t){return this.locate(n,t)!==i.EXTERIOR},updateLocationInfo:function(n){n===i.INTERIOR&&(this.isIn=!0);n===i.BOUNDARY&&this.numBoundaries++},computeLocation:function(n,t){var r,o,u,i,s,f,e;if(t instanceof bt&&this.updateLocationInfo(this.locateInternal(n,t)),t instanceof d)this.updateLocationInfo(this.locateInternal(n,t));else if(t instanceof ht)this.updateLocationInfo(this.locateInternal(n,t));else if(t instanceof nr)for(r=t,i=0;i<r.getNumGeometries();i++)o=r.getGeometryN(i),this.updateLocationInfo(this.locateInternal(n,o));else if(t instanceof vi)for(u=t,i=0;i<u.getNumGeometries();i++)s=u.getGeometryN(i),this.updateLocationInfo(this.locateInternal(n,s));else if(t instanceof nt)for(f=new ts(t);f.hasNext();)e=f.next(),e!==t&&this.computeLocation(n,e)},locate:function(n,t){return t.isEmpty()?i.EXTERIOR:t instanceof d?this.locateInternal(n,t):t instanceof ht?this.locateInternal(n,t):(this.isIn=!1,this.numBoundaries=0,this.computeLocation(n,t),this.boundaryRule.isInBoundary(this.numBoundaries)?i.BOUNDARY:this.numBoundaries>0||this.isIn?i.INTERIOR:i.EXTERIOR)},interfaces_:function(){return[]},getClass:function(){return is}});t(th.prototype,{interfaces_:function(){return[]},getClass:function(){return th}});th.octant=function(){var t,n,i,u;if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){if(t=arguments[0],n=arguments[1],0===t&&0===n)throw new ft("Cannot compute the octant for point ( "+t+", "+n+" )");return i=Math.abs(t),u=Math.abs(n),t>=0?n>=0?i>=u?0:1:i>=u?7:6:n>=0?i>=u?3:2:i>=u?4:5}if(arguments[0]instanceof r&&arguments[1]instanceof r){var f=arguments[0],e=arguments[1],o=e.x-f.x,s=e.y-f.y;if(0===o&&0===s)throw new ft("Cannot compute the octant for two identical points "+f);return th.octant(o,s)}};t(hc.prototype,{getCoordinates:function(){},size:function(){},getCoordinate:function(){},isClosed:function(){},setData:function(){},getData:function(){},interfaces_:function(){return[]},getClass:function(){return hc}});t(kp.prototype,{getCoordinates:function(){return this.pts},size:function(){return this.pts.length},getCoordinate:function(n){return this.pts[n]},isClosed:function(){return this.pts[0].equals(this.pts[this.pts.length-1])},getSegmentOctant:function(n){return n===this.pts.length-1?-1:th.octant(this.getCoordinate(n),this.getCoordinate(n+1))},setData:function(n){this.data=n},getData:function(){return this.data},toString:function(){return wi.toLineString(new nu(this.pts))},interfaces_:function(){return[hc]},getClass:function(){return kp}});t(tv.prototype,{getBounds:function(){},interfaces_:function(){return[]},getClass:function(){return tv}});t(re.prototype,{getItem:function(){return this.item},getBounds:function(){return this.bounds},interfaces_:function(){return[tv,fr]},getClass:function(){return re}});t(dp.prototype,{poll:function(){if(this.isEmpty())return null;var n=this.items.get(1);return this.items.set(1,this.items.get(this._size)),this._size-=1,this.reorder(1),n},size:function(){return this._size},reorder:function(n){for(var t=null,i=this.items.get(n);2*n<=this._size&&(t=2*n,t!==this._size&&this.items.get(t+1).compareTo(this.items.get(t))<0&&t++,this.items.get(t).compareTo(i)<0);n=t)this.items.set(n,this.items.get(t));this.items.set(n,i)},clear:function(){this._size=0;this.items.clear()},isEmpty:function(){return 0===this._size},add:function(n){this.items.add(null);this._size+=1;var t=this._size;for(this.items.set(0,n);n.compareTo(this.items.get(Math.trunc(t/2)))<0;t/=2)this.items.set(t,this.items.get(Math.trunc(t/2)));this.items.set(t,n)},interfaces_:function(){return[]},getClass:function(){return dp}});t(no.prototype,{visitItem:function(){},interfaces_:function(){return[]},getClass:function(){return no}});t(iv.prototype,{insert:function(){},remove:function(){},query:function(){1===arguments.length?arguments[0]:2===arguments.length&&(arguments[0],arguments[1])},interfaces_:function(){return[]},getClass:function(){return iv}});t(rr.prototype,{getLevel:function(){return this.level},size:function(){return this.childBoundables.size()},getChildBoundables:function(){return this.childBoundables},addChildBoundable:function(n){c.isTrue(null===this.bounds);this.childBoundables.add(n)},isEmpty:function(){return this.childBoundables.isEmpty()},getBounds:function(){return null===this.bounds&&(this.bounds=this.computeBounds()),this.bounds},interfaces_:function(){return[tv,fr]},getClass:function(){return rr}});rr.serialVersionUID=0x5a1e55ec41369800;rf={reverseOrder:function(){return{compare:function(n,t){return t.compareTo(n)}}},min:function(n){return rf.sort(n),n.get(0)},sort:function(n,t){var i=n.toArray();t?kf.sort(i,t):kf.sort(i);for(var u=n.iterator(),r=0,f=i.length;r<f;r++)u.next(),u.set(i[r])},singletonList:function(n){var t=new u;return t.add(n),t}};t(sr.prototype,{expandToQueue:function(n,t){var i=sr.isComposite(this.boundable1),r=sr.isComposite(this.boundable2);if(i&&r)return sr.area(this.boundable1)>sr.area(this.boundable2)?(this.expand(this.boundable1,this.boundable2,n,t),null):(this.expand(this.boundable2,this.boundable1,n,t),null);if(i)return this.expand(this.boundable1,this.boundable2,n,t),null;if(r)return this.expand(this.boundable2,this.boundable1,n,t),null;throw new ft("neither boundable is composite");},isLeaves:function(){return!(sr.isComposite(this.boundable1)||sr.isComposite(this.boundable2))},compareTo:function(n){var t=n;return this._distance<t._distance?-1:this._distance>t._distance?1:0},expand:function(n,t,i,r){for(var o,f,e=n.getChildBoundables(),u=e.iterator();u.hasNext();)o=u.next(),f=new sr(o,t,this.itemDistance),f.getDistance()<r&&i.add(f)},getBoundable:function(n){return 0===n?this.boundable1:this.boundable2},getDistance:function(){return this._distance},distance:function(){return this.isLeaves()?this.itemDistance.distance(this.boundable1,this.boundable2):this.boundable1.getBounds().distance(this.boundable2.getBounds())},interfaces_:function(){return[ur]},getClass:function(){return sr}});sr.area=function(n){return n.getBounds().getArea()};sr.isComposite=function(n){return n instanceof rr};t(ti.prototype,{getNodeCapacity:function(){return this.nodeCapacity},lastNode:function(n){return n.get(n.size()-1)},size:function(){var n;if(0===arguments.length)return this.isEmpty()?0:(this.build(),this.size(this.root));if(1===arguments.length){for(var r=arguments[0],t=0,i=r.getChildBoundables().iterator();i.hasNext();)n=i.next(),n instanceof rr?t+=this.size(n):n instanceof re&&(t+=1);return t}},removeItem:function(n,t){for(var r,i=null,u=n.getChildBoundables().iterator();u.hasNext();)r=u.next(),r instanceof re&&r.getItem()===t&&(i=r);return null!==i&&(n.getChildBoundables().remove(i),!0)},itemsTree:function(){var i,n,r;if(0===arguments.length)return this.build(),i=this.itemsTree(this.root),null===i?new u:i;if(1===arguments.length){for(var e=arguments[0],t=new u,f=e.getChildBoundables().iterator();f.hasNext();)n=f.next(),n instanceof rr?(r=this.itemsTree(n),null!==r&&t.add(r)):n instanceof re?t.add(n.getItem()):c.shouldNeverReachHere();return t.size()<=0?null:t}},insert:function(n,t){c.isTrue(!this.built,"Cannot insert items into an STR packed R-tree after it has been built.");this.itemBoundables.add(new re(n,t))},boundablesAtLevel:function(){var o,i,e,n;if(1===arguments.length)return o=arguments[0],i=new u,this.boundablesAtLevel(o,this.root,i),i;if(3===arguments.length){var t=arguments[0],r=arguments[1],f=arguments[2];if(c.isTrue(t>-2),r.getLevel()===t)return f.add(r),null;for(e=r.getChildBoundables().iterator();e.hasNext();)n=e.next(),n instanceof rr?this.boundablesAtLevel(t,n,f):(c.isTrue(n instanceof re),-1===t&&f.add(n));return null}},query:function(){var f,r,e,o,n;if(1===arguments.length)return f=arguments[0],this.build(),r=new u,this.isEmpty()?r:(this.getIntersectsOp().intersects(this.root.getBounds(),f)&&this.query(f,this.root,r),r);if(2===arguments.length){if(e=arguments[0],o=arguments[1],this.build(),this.isEmpty())return null;this.getIntersectsOp().intersects(this.root.getBounds(),e)&&this.query(e,this.root,o)}else if(3===arguments.length)if(l(arguments[2],no)&&arguments[0]instanceof Object&&arguments[1]instanceof rr)for(var s=arguments[0],y=arguments[1],h=arguments[2],i=y.getChildBoundables(),t=0;t<i.size();t++)n=i.get(t),this.getIntersectsOp().intersects(n.getBounds(),s)&&(n instanceof rr?this.query(s,n,h):n instanceof re?h.visitItem(n.getItem()):c.shouldNeverReachHere());else if(l(arguments[2],ei)&&arguments[0]instanceof Object&&arguments[1]instanceof rr)for(var a=arguments[0],p=arguments[1],v=arguments[2],i=p.getChildBoundables(),t=0;t<i.size();t++)n=i.get(t),this.getIntersectsOp().intersects(n.getBounds(),a)&&(n instanceof rr?this.query(a,n,v):n instanceof re?v.add(n.getItem()):c.shouldNeverReachHere())},build:function(){if(this.built)return null;this.root=this.itemBoundables.isEmpty()?this.createNode(0):this.createHigherLevels(this.itemBoundables,-1);this.itemBoundables=null;this.built=!0},getRoot:function(){return this.build(),this.root},remove:function(){var i,e,n,f,t;if(2===arguments.length)return i=arguments[0],e=arguments[1],this.build(),!!this.getIntersectsOp().intersects(this.root.getBounds(),i)&&this.remove(i,this.root,e);if(3===arguments.length){var o=arguments[0],r=arguments[1],s=arguments[2],u=this.removeItem(r,s);if(u)return!0;for(n=null,f=r.getChildBoundables().iterator();f.hasNext();)if(t=f.next(),this.getIntersectsOp().intersects(t.getBounds(),o)&&t instanceof rr&&(u=this.remove(o,t,s))){n=t;break}return null!==n&&n.getChildBoundables().isEmpty()&&r.getChildBoundables().remove(n),u}},createHigherLevels:function(n,t){c.isTrue(!n.isEmpty());var i=this.createParentBoundables(n,t+1);return 1===i.size()?i.get(0):this.createHigherLevels(i,t+1)},depth:function(){var t,i;if(0===arguments.length)return this.isEmpty()?0:(this.build(),this.depth(this.root));if(1===arguments.length){for(var u=arguments[0],n=0,r=u.getChildBoundables().iterator();r.hasNext();)t=r.next(),t instanceof rr&&(i=this.depth(t),i>n&&(n=i));return n+1}},createParentBoundables:function(n,t){var i,r,f,e;for(c.isTrue(!n.isEmpty()),i=new u,i.add(this.createNode(t)),r=new u(n),rf.sort(r,this.getComparator()),f=r.iterator();f.hasNext();)e=f.next(),this.lastNode(i).getChildBoundables().size()===this.getNodeCapacity()&&i.add(this.createNode(t)),this.lastNode(i).addChildBoundable(e);return i},isEmpty:function(){return this.built?this.root.isEmpty():this.itemBoundables.isEmpty()},interfaces_:function(){return[fr]},getClass:function(){return ti}});ti.compareDoubles=function(n,t){return n>t?1:n<t?-1:0};ti.IntersectsOp=yd;ti.serialVersionUID=-0x35ef64c82d4c5400;ti.DEFAULT_NODE_CAPACITY=10;t(rv.prototype,{distance:function(){},interfaces_:function(){return[]},getClass:function(){return rv}});y(kt,ti);t(kt.prototype,{createParentBoundablesFromVerticalSlices:function(n,t){c.isTrue(n.length>0);for(var r=new u,i=0;i<n.length;i++)r.addAll(this.createParentBoundablesFromVerticalSlice(n[i],t));return r},createNode:function(n){return new cc(n)},size:function(){return 0===arguments.length?ti.prototype.size.call(this):ti.prototype.size.apply(this,arguments)},insert:function(){if(2!==arguments.length)return ti.prototype.insert.apply(this,arguments);var n=arguments[0],t=arguments[1];if(n.isNull())return null;ti.prototype.insert.call(this,n,t)},getIntersectsOp:function(){return kt.intersectsOp},verticalSlices:function(n,t){for(var f,o,s=Math.trunc(Math.ceil(n.size()/t)),r=new Array(t).fill(null),e=n.iterator(),i=0;i<t;i++)for(r[i]=new u,f=0;e.hasNext()&&f<s;)o=e.next(),r[i].add(o),f++;return r},query:function(){var n,t,i;if(1===arguments.length)return n=arguments[0],ti.prototype.query.call(this,n);if(2===arguments.length)t=arguments[0],i=arguments[1],ti.prototype.query.call(this,t,i);else if(3===arguments.length)if(l(arguments[2],no)&&arguments[0]instanceof Object&&arguments[1]instanceof rr){var r=arguments[0],u=arguments[1],f=arguments[2];ti.prototype.query.call(this,r,u,f)}else if(l(arguments[2],ei)&&arguments[0]instanceof Object&&arguments[1]instanceof rr){var e=arguments[0],o=arguments[1],s=arguments[2];ti.prototype.query.call(this,e,o,s)}},getComparator:function(){return kt.yComparator},createParentBoundablesFromVerticalSlice:function(n,t){return ti.prototype.createParentBoundables.call(this,n,t)},remove:function(){if(2===arguments.length){var n=arguments[0],t=arguments[1];return ti.prototype.remove.call(this,n,t)}return ti.prototype.remove.apply(this,arguments)},depth:function(){return 0===arguments.length?ti.prototype.depth.call(this):ti.prototype.depth.apply(this,arguments)},createParentBoundables:function(n,t){var r,i,f;return c.isTrue(!n.isEmpty()),r=Math.trunc(Math.ceil(n.size()/this.getNodeCapacity())),i=new u(n),rf.sort(i,kt.xComparator),f=this.verticalSlices(i,Math.trunc(Math.ceil(Math.sqrt(r)))),this.createParentBoundablesFromVerticalSlices(f,t)},nearestNeighbour:function(){var e,n,o,t,f;if(1===arguments.length){if(l(arguments[0],rv))return e=arguments[0],n=new sr(this.getRoot(),this.getRoot(),e),this.nearestNeighbour(n);if(arguments[0]instanceof sr)return o=arguments[0],this.nearestNeighbour(o,a.POSITIVE_INFINITY)}else if(2===arguments.length){if(arguments[0]instanceof kt&&l(arguments[1],rv)){var s=arguments[0],h=arguments[1],n=new sr(this.getRoot(),s.getRoot(),h);return this.nearestNeighbour(n)}if(arguments[0]instanceof sr&&"number"==typeof arguments[1]){var c=arguments[0],v=arguments[1],i=v,u=null,r=new dp;for(r.add(c);!r.isEmpty()&&i>0;){if(t=r.poll(),f=t.getDistance(),f>=i)break;t.isLeaves()?(i=f,u=t):t.expandToQueue(r,i)}return[u.getBoundable(0).getItem(),u.getBoundable(1).getItem()]}}else if(3===arguments.length){var y=arguments[0],p=arguments[1],w=arguments[2],b=new re(y,p),n=new sr(this.getRoot(),b,w);return this.nearestNeighbour(n)[0]}},interfaces_:function(){return[iv,fr]},getClass:function(){return kt}});kt.centreX=function(n){return kt.avg(n.getMinX(),n.getMaxX())};kt.avg=function(n,t){return(n+t)/2};kt.centreY=function(n){return kt.avg(n.getMinY(),n.getMaxY())};y(cc,rr);t(cc.prototype,{computeBounds:function(){for(var i,n=null,t=this.getChildBoundables().iterator();t.hasNext();)i=t.next(),null===n?n=new p(i.getBounds()):n.expandToInclude(i.getBounds());return n},interfaces_:function(){return[]},getClass:function(){return cc}});kt.STRtreeNode=cc;kt.serialVersionUID=0x39920f7d5f261e0;kt.xComparator={interfaces_:function(){return[ke]},compare:function(n,t){return ti.compareDoubles(kt.centreX(n.getBounds()),kt.centreX(t.getBounds()))}};kt.yComparator={interfaces_:function(){return[ke]},compare:function(n,t){return ti.compareDoubles(kt.centreY(n.getBounds()),kt.centreY(t.getBounds()))}};kt.intersectsOp={interfaces_:function(){return[IntersectsOp]},intersects:function(n,t){return n.intersects(t)}};kt.DEFAULT_NODE_CAPACITY=10;t(hr.prototype,{interfaces_:function(){return[]},getClass:function(){return hr}});hr.relativeSign=function(n,t){return n<t?-1:n>t?1:0};hr.compare=function(n,t,i){if(t.equals2D(i))return 0;var r=hr.relativeSign(t.x,i.x),u=hr.relativeSign(t.y,i.y);switch(n){case 0:return hr.compareValue(r,u);case 1:return hr.compareValue(u,r);case 2:return hr.compareValue(u,-r);case 3:return hr.compareValue(-r,u);case 4:return hr.compareValue(-r,-u);case 5:return hr.compareValue(-u,-r);case 6:return hr.compareValue(-u,r);case 7:return hr.compareValue(r,-u)}return c.shouldNeverReachHere("invalid octant value"),0};hr.compareValue=function(n,t){return n<0?-1:n>0?1:t<0?-1:t>0?1:0};t(gp.prototype,{getCoordinate:function(){return this.coord},print:function(n){n.print(this.coord);n.print(" seg # = "+this.segmentIndex)},compareTo:function(n){var t=n;return this.segmentIndex<t.segmentIndex?-1:this.segmentIndex>t.segmentIndex?1:this.coord.equals2D(t.coord)?0:hr.compare(this.segmentOctant,this.coord,t.coord)},isEndPoint:function(n){return 0===this.segmentIndex&&!this._isInterior||this.segmentIndex===n},isInterior:function(){return this._isInterior},interfaces_:function(){return[ur]},getClass:function(){return gp}});t(nw.prototype,{getSplitCoordinates:function(){var r=new gt,n,t,i;for(this.addEndpoints(),n=this.iterator(),t=n.next();n.hasNext();)i=n.next(),this.addEdgeCoordinates(t,i,r),t=i;return r.toCoordinateArray()},addCollapsedNodes:function(){var n=new u,t,i;for(this.findCollapsesFromInsertedNodes(n),this.findCollapsesFromExistingVertices(n),t=n.iterator();t.hasNext();)i=t.next().intValue(),this.add(this.edge.getCoordinate(i),i)},print:function(n){n.println("Intersections:");for(var t=this.iterator();t.hasNext();)t.next().print(n)},findCollapsesFromExistingVertices:function(n){for(var i,r,t=0;t<this.edge.size()-2;t++)i=this.edge.getCoordinate(t),r=(this.edge.getCoordinate(t+1),this.edge.getCoordinate(t+2)),i.equals2D(r)&&n.add(new pu(t+1))},addEdgeCoordinates:function(n,t,i){var e=t.segmentIndex-n.segmentIndex+2,o=this.edge.getCoordinate(t.segmentIndex),f=t.isInterior()||!t.coord.equals2D(o),u;for(f||e--,i.add(new r(n.coord),!1),u=n.segmentIndex+1;u<=t.segmentIndex;u++)i.add(this.edge.getCoordinate(u));f&&i.add(new r(t.coord))},iterator:function(){return this.nodeMap.values().iterator()},addSplitEdges:function(n){var t,i,r,u;for(this.addEndpoints(),this.addCollapsedNodes(),t=this.iterator(),i=t.next();t.hasNext();)r=t.next(),u=this.createSplitEdge(i,r),n.add(u),i=r},findCollapseIndex:function(n,t,i){if(!n.coord.equals2D(t.coord))return!1;var r=t.segmentIndex-n.segmentIndex;return t.isInterior()||r--,1===r&&(i[0]=n.segmentIndex+1,!0)},findCollapsesFromInsertedNodes:function(n){for(var i,r=new Array(1).fill(null),t=this.iterator(),u=t.next();t.hasNext();)i=t.next(),this.findCollapseIndex(u,i,r)&&n.add(new pu(r[0])),u=i},getEdge:function(){return this.edge},addEndpoints:function(){var n=this.edge.size()-1;this.add(this.edge.getCoordinate(0),0);this.add(this.edge.getCoordinate(n),n)},createSplitEdge:function(n,t){var e=t.segmentIndex-n.segmentIndex+2,s=this.edge.getCoordinate(t.segmentIndex),o=t.isInterior()||!t.coord.equals2D(s),i,u,f;for(o||e--,i=new Array(e).fill(null),u=0,i[u++]=new r(n.coord),f=n.segmentIndex+1;f<=t.segmentIndex;f++)i[u++]=this.edge.getCoordinate(f);return o&&(i[u]=new r(t.coord)),new ff(i,this.edge.getData())},add:function(n,t){var i=new gp(this.edge,n,t,this.edge.getSegmentOctant(t)),r=this.nodeMap.get(i);return null!==r?(c.isTrue(r.coord.equals2D(n),"Found equal nodes with different coordinates"),r):(this.nodeMap.put(i,i),i)},checkSplitEdgesCorrectness:function(n){var t=this.edge.getCoordinates(),f=n.get(0),i=f.getCoordinate(0);if(!i.equals2D(t[0]))throw new li("bad split edge start point at "+i);var e=n.get(n.size()-1),r=e.getCoordinates(),u=r[r.length-1];if(!u.equals2D(t[t.length-1]))throw new li("bad split edge end point at "+u);},interfaces_:function(){return[]},getClass:function(){return nw}});t(yb.prototype,{next:function(){return null===this.currNode?(this.currNode=this.nextNode,this.currSegIndex=this.currNode.segmentIndex,this.readNextNode(),this.currNode):null===this.nextNode?null:this.nextNode.segmentIndex===this.currNode.segmentIndex?(this.currNode=this.nextNode,this.currSegIndex=this.currNode.segmentIndex,this.readNextNode(),this.currNode):(this.nextNode.segmentIndex,this.currNode.segmentIndex,null)},remove:function(){throw new UnsupportedOperationException(this.getClass().getName());},hasNext:function(){return null!==this.nextNode},readNextNode:function(){this.nextNode=this.nodeIt.hasNext()?this.nodeIt.next():null},interfaces_:function(){return[ic]},getClass:function(){return yb}});t(tw.prototype,{addIntersection:function(){},interfaces_:function(){return[hc]},getClass:function(){return tw}});t(ff.prototype,{getCoordinates:function(){return this.pts},size:function(){return this.pts.length},getCoordinate:function(n){return this.pts[n]},isClosed:function(){return this.pts[0].equals(this.pts[this.pts.length-1])},getSegmentOctant:function(n){return n===this.pts.length-1?-1:this.safeOctant(this.getCoordinate(n),this.getCoordinate(n+1))},setData:function(n){this.data=n},safeOctant:function(n,t){return n.equals2D(t)?0:th.octant(n,t)},getData:function(){return this.data},addIntersection:function(){var n,t;if(2===arguments.length)n=arguments[0],t=arguments[1],this.addIntersectionNode(n,t);else if(4===arguments.length){var i=arguments[0],u=arguments[1],f=(arguments[2],arguments[3]),e=new r(i.getIntersection(f));this.addIntersection(e,u)}},toString:function(){return wi.toLineString(new nu(this.pts))},getNodeList:function(){return this.nodeList},addIntersectionNode:function(n,t){var i=t,r=i+1,u;return r<this.pts.length&&(u=this.pts[r],n.equals2D(u)&&(i=r)),this.nodeList.add(n,i)},addIntersections:function(n,t,i){for(var r=0;r<n.getIntersectionNum();r++)this.addIntersection(n,t,i,r)},interfaces_:function(){return[tw]},getClass:function(){return ff}});ff.getNodedSubstrings=function(){var t,n,r;if(1===arguments.length)return t=arguments[0],n=new u,ff.getNodedSubstrings(t,n),n;if(2===arguments.length)for(var f=arguments[0],e=arguments[1],i=f.iterator();i.hasNext();)r=i.next(),r.getNodeList().addSplitEdges(e)};t(lc.prototype,{overlap:function(){if(2===arguments.length)arguments[0],arguments[1];else if(4===arguments.length){var n=arguments[0],t=arguments[1],i=arguments[2],r=arguments[3];n.getLineSegment(t,this.overlapSeg1);i.getLineSegment(r,this.overlapSeg2);this.overlap(this.overlapSeg1,this.overlapSeg2)}},interfaces_:function(){return[]},getClass:function(){return lc}});t(iw.prototype,{getLineSegment:function(n,t){t.p0=this.pts[n];t.p1=this.pts[n+1]},computeSelect:function(n,t,i,r){var f=this.pts[t],e=this.pts[i],u;if(r.tempEnv1.init(f,e),i-t==1)return r.select(this,t),null;if(!n.intersects(r.tempEnv1))return null;u=Math.trunc((t+i)/2);t<u&&this.computeSelect(n,t,u,r);u<i&&this.computeSelect(n,u,i,r)},getCoordinates:function(){for(var t=new Array(this.end-this.start+1).fill(null),i=0,n=this.start;n<=this.end;n++)t[i++]=this.pts[n];return t},computeOverlaps:function(n,t){this.computeOverlapsInternal(this.start,this.end,n,n.start,n.end,t)},setId:function(n){this.id=n},select:function(n,t){this.computeSelect(n,this.start,this.end,t)},getEnvelope:function(){if(null===this.env){var n=this.pts[this.start],t=this.pts[this.end];this.env=new p(n,t)}return this.env},getEndIndex:function(){return this.end},getStartIndex:function(){return this.start},getContext:function(){return this.context},getId:function(){return this.id},computeOverlapsInternal:function(n,t,i,r,u,f){var s=this.pts[n],h=this.pts[t],c=i.pts[r],l=i.pts[u],o,e;if(t-n==1&&u-r==1)return f.overlap(this,n,i,r),null;if(f.tempEnv1.init(s,h),f.tempEnv2.init(c,l),!f.tempEnv1.intersects(f.tempEnv2))return null;o=Math.trunc((n+t)/2);e=Math.trunc((r+u)/2);n<o&&(r<e&&this.computeOverlapsInternal(n,o,i,r,e,f),e<u&&this.computeOverlapsInternal(n,o,i,e,u,f));o<t&&(r<e&&this.computeOverlapsInternal(o,t,i,r,e,f),e<u&&this.computeOverlapsInternal(o,t,i,e,u,f))},interfaces_:function(){return[]},getClass:function(){return iw}});t(it.prototype,{interfaces_:function(){return[]},getClass:function(){return it}});it.isNorthern=function(n){return n===it.NE||n===it.NW};it.isOpposite=function(n,t){return n!==t&&2==(n-t+4)%4};it.commonHalfPlane=function(n,t){if(n===t)return n;if(2==(n-t+4)%4)return-1;var i=n<t?n:t,r=n>t?n:t;return 0===i&&3===r?3:i};it.isInHalfPlane=function(n,t){return t===it.SE?n===it.SE||n===it.SW:n===t||n===t+1};it.quadrant=function(){var u,i,n,t;if("number"==typeof arguments[0]&&"number"==typeof arguments[1]){if(u=arguments[0],i=arguments[1],0===u&&0===i)throw new ft("Cannot compute the quadrant for point ( "+u+", "+i+" )");return u>=0?i>=0?it.NE:it.SE:i>=0?it.NW:it.SW}if(arguments[0]instanceof r&&arguments[1]instanceof r){if(n=arguments[0],t=arguments[1],t.x===n.x&&t.y===n.y)throw new ft("Cannot compute the quadrant for two identical points "+n);return t.x>=n.x?t.y>=n.y?it.NE:it.SE:t.y>=n.y?it.NW:it.SW}};it.NE=0;it.NW=1;it.SW=2;it.SE=3;t(bu.prototype,{interfaces_:function(){return[]},getClass:function(){return bu}});bu.getChainStartIndices=function(n){var t=0,i=new u,r;i.add(new pu(t));do r=bu.findChainEnd(n,t),i.add(new pu(r)),t=r;while(t<n.length-1);return bu.toIntArray(i)};bu.findChainEnd=function(n,t){for(var u,r,i=t;i<n.length-1&&n[i].equals2D(n[i+1]);)i++;if(i>=n.length-1)return n.length-1;for(u=it.quadrant(n[i],n[i+1]),r=t+1;r<n.length;){if(!n[r-1].equals2D(n[r])&&it.quadrant(n[r-1],n[r])!==u)break;r++}return r-1};bu.getChains=function(){var i,e;if(1===arguments.length)return i=arguments[0],bu.getChains(i,null);if(2===arguments.length){for(var r=arguments[0],o=arguments[1],f=new u,t=bu.getChainStartIndices(r),n=0;n<t.length-1;n++)e=new iw(r,t[n],t[n+1],o),f.add(e);return f}};bu.toIntArray=function(n){for(var i=new Array(n.size()).fill(null),t=0;t<i.length;t++)i[t]=n.get(t).intValue();return i};t(ac.prototype,{computeNodes:function(){},getNodedSubstrings:function(){},interfaces_:function(){return[]},getClass:function(){return ac}});t(uv.prototype,{setSegmentIntersector:function(n){this.segInt=n},interfaces_:function(){return[ac]},getClass:function(){return uv}});y(to,uv);t(to.prototype,{getMonotoneChains:function(){return this.monoChains},getNodedSubstrings:function(){return ff.getNodedSubstrings(this.nodedSegStrings)},getIndex:function(){return this.index},add:function(n){for(var t,r=bu.getChains(n.getCoordinates(),n),i=r.iterator();i.hasNext();)t=i.next(),t.setId(this.idCounter++),this.index.insert(t.getEnvelope(),t),this.monoChains.add(t)},computeNodes:function(n){this.nodedSegStrings=n;for(var t=n.iterator();t.hasNext();)this.add(t.next());this.intersectChains()},intersectChains:function(){for(var i,r=new vc(this.segInt),n=this.monoChains.iterator();n.hasNext();)for(var t=n.next(),f=this.index.query(t.getEnvelope()),u=f.iterator();u.hasNext();)if(i=u.next(),i.getId()>t.getId()&&(t.computeOverlaps(i,r),this.nOverlaps++),this.segInt.isDone())return null},interfaces_:function(){return[]},getClass:function(){return to}});y(vc,lc);t(vc.prototype,{overlap:function(){if(4!==arguments.length)return lc.prototype.overlap.apply(this,arguments);var n=arguments[0],t=arguments[1],i=arguments[2],r=arguments[3],u=n.getContext(),f=i.getContext();this.si.processIntersections(u,t,f,r)},interfaces_:function(){return[]},getClass:function(){return vc}});to.SegmentOverlapAction=vc;y(vr,li);t(vr.prototype,{getCoordinate:function(){return this.pt},interfaces_:function(){return[]},getClass:function(){return vr}});vr.msgWithCoord=function(n,t){return null!==t?n+" [ "+t+" ]":n};t(yc.prototype,{processIntersections:function(){},isDone:function(){},interfaces_:function(){return[]},getClass:function(){return yc}});t(ae.prototype,{getInteriorIntersection:function(){return this.interiorIntersection},setCheckEndSegmentsOnly:function(n){this.isCheckEndSegmentsOnly=n},getIntersectionSegments:function(){return this.intSegments},count:function(){return this.intersectionCount},getIntersections:function(){return this.intersections},setFindAllIntersections:function(n){this.findAllIntersections=n},setKeepIntersections:function(n){this.keepIntersections=n},processIntersections:function(n,t,i,r){if(!this.findAllIntersections&&this.hasIntersection()||n===i&&t===r||this.isCheckEndSegmentsOnly&&!(this.isEndSegment(n,t)||this.isEndSegment(i,r)))return null;var u=n.getCoordinates()[t],f=n.getCoordinates()[t+1],e=i.getCoordinates()[r],o=i.getCoordinates()[r+1];this.li.computeIntersection(u,f,e,o);this.li.hasIntersection()&&this.li.isInteriorIntersection()&&(this.intSegments=new Array(4).fill(null),this.intSegments[0]=u,this.intSegments[1]=f,this.intSegments[2]=e,this.intSegments[3]=o,this.interiorIntersection=this.li.getIntersection(0),this.keepIntersections&&this.intersections.add(this.interiorIntersection),this.intersectionCount++)},isEndSegment:function(n,t){return 0===t||t>=n.size()-2},hasIntersection:function(){return null!==this.interiorIntersection},isDone:function(){return!this.findAllIntersections&&null!==this.interiorIntersection},interfaces_:function(){return[yc]},getClass:function(){return ae}});ae.createAllIntersectionsFinder=function(n){var t=new ae(n);return t.setFindAllIntersections(!0),t};ae.createAnyIntersectionFinder=function(n){return new ae(n)};ae.createIntersectionCounter=function(n){var t=new ae(n);return t.setFindAllIntersections(!0),t.setKeepIntersections(!1),t};t(pc.prototype,{execute:function(){if(null!==this.segInt)return null;this.checkInteriorIntersections()},getIntersections:function(){return this.segInt.getIntersections()},isValid:function(){return this.execute(),this._isValid},setFindAllIntersections:function(n){this.findAllIntersections=n},checkInteriorIntersections:function(){this._isValid=!0;this.segInt=new ae(this.li);this.segInt.setFindAllIntersections(this.findAllIntersections);var n=new to;if(n.setSegmentIntersector(this.segInt),n.computeNodes(this.segStrings),this.segInt.hasIntersection())return this._isValid=!1,null},checkValid:function(){if(this.execute(),!this._isValid)throw new vr(this.getErrorMessage(),this.segInt.getInteriorIntersection());},getErrorMessage:function(){if(this._isValid)return"no intersections found";var n=this.segInt.getIntersectionSegments();return"found non-noded intersection between "+wi.toLineString(n[0],n[1])+" and "+wi.toLineString(n[2],n[3])},interfaces_:function(){return[]},getClass:function(){return pc}});pc.computeIntersections=function(n){var t=new pc(n);return t.setFindAllIntersections(!0),t.isValid(),t.getIntersections()};t(rs.prototype,{checkValid:function(){this.nv.checkValid()},interfaces_:function(){return[]},getClass:function(){return rs}});rs.toSegmentStrings=function(n){for(var r,t=new u,i=n.iterator();i.hasNext();)r=i.next(),t.add(new kp(r.getCoordinates(),r));return t};rs.checkValid=function(n){new rs(n).checkValid()};t(ih.prototype,{map:function(n){for(var r,i=new u,t=0;t<n.getNumGeometries();t++)r=this.mapOp.map(n.getGeometryN(t)),r.isEmpty()||i.add(r);return n.getFactory().createGeometryCollection(g.toGeometryArray(i))},interfaces_:function(){return[]},getClass:function(){return ih}});ih.map=function(n,t){return new ih(t).map(n)};t(o.prototype,{interfaces_:function(){return[]},getClass:function(){return o}});o.opposite=function(n){return n===o.LEFT?o.RIGHT:n===o.RIGHT?o.LEFT:n};o.ON=0;o.LEFT=1;o.RIGHT=2;t(yr.prototype,{setAllLocations:function(n){for(var t=0;t<this.location.length;t++)this.location[t]=n},isNull:function(){for(var n=0;n<this.location.length;n++)if(this.location[n]!==i.NONE)return!1;return!0},setAllLocationsIfNull:function(n){for(var t=0;t<this.location.length;t++)this.location[t]===i.NONE&&(this.location[t]=n)},isLine:function(){return 1===this.location.length},merge:function(n){var r,t;for(n.location.length>this.location.length&&(r=new Array(3).fill(null),r[o.ON]=this.location[o.ON],r[o.LEFT]=i.NONE,r[o.RIGHT]=i.NONE,this.location=r),t=0;t<this.location.length;t++)this.location[t]===i.NONE&&t<n.location.length&&(this.location[t]=n.location[t])},getLocations:function(){return this.location},flip:function(){if(this.location.length<=1)return null;var n=this.location[o.LEFT];this.location[o.LEFT]=this.location[o.RIGHT];this.location[o.RIGHT]=n},toString:function(){var n=new su;return this.location.length>1&&n.append(i.toLocationSymbol(this.location[o.LEFT])),n.append(i.toLocationSymbol(this.location[o.ON])),this.location.length>1&&n.append(i.toLocationSymbol(this.location[o.RIGHT])),n.toString()},setLocations:function(n,t,i){this.location[o.ON]=n;this.location[o.LEFT]=t;this.location[o.RIGHT]=i},get:function(n){return n<this.location.length?this.location[n]:i.NONE},isArea:function(){return this.location.length>1},isAnyNull:function(){for(var n=0;n<this.location.length;n++)if(this.location[n]===i.NONE)return!0;return!1},setLocation:function(){var n,t,i;1===arguments.length?(n=arguments[0],this.setLocation(o.ON,n)):2===arguments.length&&(t=arguments[0],i=arguments[1],this.location[t]=i)},init:function(n){this.location=new Array(n).fill(null);this.setAllLocations(i.NONE)},isEqualOnSide:function(n,t){return this.location[t]===n.location[t]},allPositionsEqual:function(n){for(var t=0;t<this.location.length;t++)if(this.location[t]!==n)return!1;return!0},interfaces_:function(){return[]},getClass:function(){return yr}});t(ii.prototype,{getGeometryCount:function(){var n=0;return this.elt[0].isNull()||n++,this.elt[1].isNull()||n++,n},setAllLocations:function(n,t){this.elt[n].setAllLocations(t)},isNull:function(n){return this.elt[n].isNull()},setAllLocationsIfNull:function(){var n,t,i;1===arguments.length?(n=arguments[0],this.setAllLocationsIfNull(0,n),this.setAllLocationsIfNull(1,n)):2===arguments.length&&(t=arguments[0],i=arguments[1],this.elt[t].setAllLocationsIfNull(i))},isLine:function(n){return this.elt[n].isLine()},merge:function(n){for(var t=0;t<2;t++)null===this.elt[t]&&null!==n.elt[t]?this.elt[t]=new yr(n.elt[t]):this.elt[t].merge(n.elt[t])},flip:function(){this.elt[0].flip();this.elt[1].flip()},getLocation:function(){var n,t,i;return 1===arguments.length?(n=arguments[0],this.elt[n].get(o.ON)):2===arguments.length?(t=arguments[0],i=arguments[1],this.elt[t].get(i)):void 0},toString:function(){var n=new su;return null!==this.elt[0]&&(n.append("A:"),n.append(this.elt[0].toString())),null!==this.elt[1]&&(n.append(" B:"),n.append(this.elt[1].toString())),n.toString()},isArea:function(){if(0===arguments.length)return this.elt[0].isArea()||this.elt[1].isArea();if(1===arguments.length){var n=arguments[0];return this.elt[n].isArea()}},isAnyNull:function(n){return this.elt[n].isAnyNull()},setLocation:function(){var n,t;if(2===arguments.length)n=arguments[0],t=arguments[1],this.elt[n].setLocation(o.ON,t);else if(3===arguments.length){var i=arguments[0],r=arguments[1],u=arguments[2];this.elt[i].setLocation(r,u)}},isEqualOnSide:function(n,t){return this.elt[0].isEqualOnSide(n.elt[0],t)&&this.elt[1].isEqualOnSide(n.elt[1],t)},allPositionsEqual:function(n,t){return this.elt[n].allPositionsEqual(t)},toLine:function(n){this.elt[n].isArea()&&(this.elt[n]=new yr(this.elt[n].location[0]))},interfaces_:function(){return[]},getClass:function(){return ii}});ii.toLineLabel=function(n){for(var r=new ii(i.NONE),t=0;t<2;t++)r.setLocation(t,n.getLocation(t));return r};t(rh.prototype,{computeRing:function(){if(null!==this.ring)return null;for(var t=new Array(this.pts.size()).fill(null),n=0;n<this.pts.size();n++)t[n]=this.pts.get(n);this.ring=this.geometryFactory.createLinearRing(t);this._isHole=s.isCCW(this.ring.getCoordinates())},isIsolated:function(){return 1===this.label.getGeometryCount()},computePoints:function(n){var t,i,r;this.startDe=n;t=n;i=!0;do{if(null===t)throw new vr("Found null DirectedEdge");if(t.getEdgeRing()===this)throw new vr("Directed Edge visited twice during ring-building at "+t.getCoordinate());this.edges.add(t);r=t.getLabel();c.isTrue(r.isArea());this.mergeLabel(r);this.addPoints(t.getEdge(),t.isForward(),i);i=!1;this.setEdgeRing(t,this);t=this.getNext(t)}while(t!==this.startDe)},getLinearRing:function(){return this.ring},getCoordinate:function(n){return this.pts.get(n)},computeMaxNodeDegree:function(){var n,i,t;this.maxNodeDegree=0;n=this.startDe;do i=n.getNode(),t=i.getEdges().getOutgoingDegree(this),t>this.maxNodeDegree&&(this.maxNodeDegree=t),n=this.getNext(n);while(n!==this.startDe);this.maxNodeDegree*=2},addPoints:function(n,t,i){var f=n.getCoordinates(),u,r;if(t)for(u=1,i&&(u=0),r=u;r<f.length;r++)this.pts.add(f[r]);else for(u=f.length-2,i&&(u=f.length-1),r=u;r>=0;r--)this.pts.add(f[r])},isHole:function(){return this._isHole},setInResult:function(){var n=this.startDe;do n.getEdge().setInResult(!0),n=n.getNext();while(n!==this.startDe)},containsPoint:function(n){var i=this.getLinearRing(),t;if(!i.getEnvelopeInternal().contains(n)||!s.isPointInRing(n,i.getCoordinates()))return!1;for(t=this.holes.iterator();t.hasNext();)if(t.next().containsPoint(n))return!1;return!0},addHole:function(n){this.holes.add(n)},isShell:function(){return null===this.shell},getLabel:function(){return this.label},getEdges:function(){return this.edges},getMaxNodeDegree:function(){return this.maxNodeDegree<0&&this.computeMaxNodeDegree(),this.maxNodeDegree},getShell:function(){return this.shell},mergeLabel:function(){var n;if(1===arguments.length)n=arguments[0],this.mergeLabel(n,0),this.mergeLabel(n,1);else if(2===arguments.length){var u=arguments[0],t=arguments[1],r=u.getLocation(t,o.RIGHT);if(r===i.NONE)return null;if(this.label.getLocation(t)===i.NONE)return this.label.setLocation(t,r),null}},setShell:function(n){this.shell=n;null!==n&&n.addHole(this)},toPolygon:function(n){for(var i=new Array(this.holes.size()).fill(null),t=0;t<this.holes.size();t++)i[t]=this.holes.get(t).getLinearRing();return n.createPolygon(this.getLinearRing(),i)},interfaces_:function(){return[]},getClass:function(){return rh}});y(fv,rh);t(fv.prototype,{setEdgeRing:function(n,t){n.setMinEdgeRing(t)},getNext:function(n){return n.getNextMin()},interfaces_:function(){return[]},getClass:function(){return fv}});y(wc,rh);t(wc.prototype,{buildMinimalRings:function(){var t=new u,n=this.startDe,i;do null===n.getMinEdgeRing()&&(i=new fv(n,this.geometryFactory),t.add(i)),n=n.getNext();while(n!==this.startDe);return t},setEdgeRing:function(n,t){n.setEdgeRing(t)},linkDirectedEdgesForMinimalEdgeRings:function(){var n=this.startDe;do n.getNode().getEdges().linkMinimalDirectedEdges(this),n=n.getNext();while(n!==this.startDe)},getNext:function(n){return n.getNext()},interfaces_:function(){return[]},getClass:function(){return wc}});t(io.prototype,{setVisited:function(n){this._isVisited=n},setInResult:function(n){this._isInResult=n},isCovered:function(){return this._isCovered},isCoveredSet:function(){return this._isCoveredSet},setLabel:function(n){this.label=n},getLabel:function(){return this.label},setCovered:function(n){this._isCovered=n;this._isCoveredSet=!0},updateIM:function(n){c.isTrue(this.label.getGeometryCount()>=2,"found partial label");this.computeIM(n)},isInResult:function(){return this._isInResult},isVisited:function(){return this._isVisited},interfaces_:function(){return[]},getClass:function(){return io}});y(ue,io);t(ue.prototype,{isIncidentEdgeInResult:function(){for(var n=this.getEdges().getEdges().iterator();n.hasNext();)if(n.next().getEdge().isInResult())return!0;return!1},isIsolated:function(){return 1===this.label.getGeometryCount()},getCoordinate:function(){return this.coord},print:function(n){n.println("node "+this.coord+" lbl: "+this.label)},computeIM:function(){},computeMergedLocation:function(n,t){var r=i.NONE,u;return(r=this.label.getLocation(t),n.isNull(t))||(u=n.getLocation(t),r!==i.BOUNDARY&&(r=u)),r},setLabel:function(){if(2!==arguments.length)return io.prototype.setLabel.apply(this,arguments);var n=arguments[0],t=arguments[1];null===this.label?this.label=new ii(n,t):this.label.setLocation(n,t)},getEdges:function(){return this.edges},mergeLabel:function(){var t,r,n,u,f;if(arguments[0]instanceof ue)t=arguments[0],this.mergeLabel(t.label);else if(arguments[0]instanceof ii)for(r=arguments[0],n=0;n<2;n++)u=this.computeMergedLocation(r,n),f=this.label.getLocation(n),f===i.NONE&&this.label.setLocation(n,u)},add:function(n){this.edges.insert(n);n.setNode(this)},setLabelBoundary:function(n){var r,t;if(null===this.label)return null;r=i.NONE;null!==this.label&&(r=this.label.getLocation(n));t=null;switch(r){case i.BOUNDARY:t=i.INTERIOR;break;case i.INTERIOR:default:t=i.BOUNDARY}this.label.setLocation(n,t)},interfaces_:function(){return[]},getClass:function(){return ue}});t(uh.prototype,{find:function(n){return this.nodeMap.get(n)},addNode:function(){var i,t,n;return arguments[0]instanceof r?(i=arguments[0],n=this.nodeMap.get(i),null===n&&(n=this.nodeFact.createNode(i),this.nodeMap.put(i,n)),n):arguments[0]instanceof ue?(t=arguments[0],n=this.nodeMap.get(t.getCoordinate()),null===n?(this.nodeMap.put(t.getCoordinate(),t),t):(n.mergeLabel(t),n)):void 0},print:function(n){for(var t=this.iterator();t.hasNext();)t.next().print(n)},iterator:function(){return this.nodeMap.values().iterator()},values:function(){return this.nodeMap.values()},getBoundaryNodes:function(n){for(var f,t=new u,r=this.iterator();r.hasNext();)f=r.next(),f.getLabel().getLocation(n)===i.BOUNDARY&&t.add(f);return t},add:function(n){var t=n.getCoordinate();this.addNode(t).add(n)},interfaces_:function(){return[]},getClass:function(){return uh}});t(ef.prototype,{compareDirection:function(n){return this.dx===n.dx&&this.dy===n.dy?0:this.quadrant>n.quadrant?1:this.quadrant<n.quadrant?-1:s.computeOrientation(n.p0,n.p1,this.p1)},getDy:function(){return this.dy},getCoordinate:function(){return this.p0},setNode:function(n){this.node=n},print:function(n){var i=Math.atan2(this.dy,this.dx),t=this.getClass().getName(),r=t.lastIndexOf("."),u=t.substring(r+1);n.print("  "+u+": "+this.p0+" - "+this.p1+" "+this.quadrant+":"+i+"   "+this.label)},compareTo:function(n){var t=n;return this.compareDirection(t)},getDirectedCoordinate:function(){return this.p1},getDx:function(){return this.dx},getLabel:function(){return this.label},getEdge:function(){return this.edge},getQuadrant:function(){return this.quadrant},getNode:function(){return this.node},toString:function(){var t=Math.atan2(this.dy,this.dx),n=this.getClass().getName(),i=n.lastIndexOf(".");return"  "+n.substring(i+1)+": "+this.p0+" - "+this.p1+" "+this.quadrant+":"+t+"   "+this.label},computeLabel:function(){},init:function(n,t){this.p0=n;this.p1=t;this.dx=t.x-n.x;this.dy=t.y-n.y;this.quadrant=it.quadrant(this.dx,this.dy);c.isTrue(!(0===this.dx&&0===this.dy),"EdgeEnd with identical endpoints found")},interfaces_:function(){return[ur]},getClass:function(){return ef}});y(us,ef);t(us.prototype,{getNextMin:function(){return this.nextMin},getDepth:function(n){return this.depth[n]},setVisited:function(n){this._isVisited=n},computeDirectedLabel:function(){this.label=new ii(this.edge.getLabel());this._isForward||this.label.flip()},getNext:function(){return this.next},setDepth:function(n,t){if(-999!==this.depth[n]&&this.depth[n]!==t)throw new vr("assigned depths do not match",this.getCoordinate());this.depth[n]=t},isInteriorAreaEdge:function(){for(var t=!0,n=0;n<2;n++)this.label.isArea(n)&&this.label.getLocation(n,o.LEFT)===i.INTERIOR&&this.label.getLocation(n,o.RIGHT)===i.INTERIOR||(t=!1);return t},setNextMin:function(n){this.nextMin=n},print:function(n){ef.prototype.print.call(this,n);n.print(" "+this.depth[o.LEFT]+"/"+this.depth[o.RIGHT]);n.print(" ("+this.getDepthDelta()+")");this._isInResult&&n.print(" inResult")},setMinEdgeRing:function(n){this.minEdgeRing=n},isLineEdge:function(){var n=this.label.isLine(0)||this.label.isLine(1),t=!this.label.isArea(0)||this.label.allPositionsEqual(0,i.EXTERIOR),r=!this.label.isArea(1)||this.label.allPositionsEqual(1,i.EXTERIOR);return n&&t&&r},setEdgeRing:function(n){this.edgeRing=n},getMinEdgeRing:function(){return this.minEdgeRing},getDepthDelta:function(){var n=this.edge.getDepthDelta();return this._isForward||(n=-n),n},setInResult:function(n){this._isInResult=n},getSym:function(){return this.sym},isForward:function(){return this._isForward},getEdge:function(){return this.edge},printEdge:function(n){this.print(n);n.print(" ");this._isForward?this.edge.print(n):this.edge.printReverse(n)},setSym:function(n){this.sym=n},setVisitedEdge:function(n){this.setVisited(n);this.sym.setVisited(n)},setEdgeDepths:function(n,t){var i=this.getEdge().getDepthDelta(),r;this._isForward||(i=-i);r=1;n===o.LEFT&&(r=-1);var u=o.opposite(n),f=i*r,e=t+f;this.setDepth(n,t);this.setDepth(u,e)},getEdgeRing:function(){return this.edgeRing},isInResult:function(){return this._isInResult},setNext:function(n){this.next=n},isVisited:function(){return this._isVisited},interfaces_:function(){return[]},getClass:function(){return us}});us.depthFactor=function(n,t){return n===i.EXTERIOR&&t===i.INTERIOR?1:n===i.INTERIOR&&t===i.EXTERIOR?-1:0};t(fs.prototype,{createNode:function(n){return new ue(n,null)},interfaces_:function(){return[]},getClass:function(){return fs}});t(of.prototype,{printEdges:function(n){var t,i;for(n.println("Edges:"),t=0;t<this.edges.size();t++)n.println("edge "+t+":"),i=this.edges.get(t),i.print(n),i.eiList.print(n)},find:function(n){return this.nodes.find(n)},addNode:function(){var n,t;return arguments[0]instanceof ue?(n=arguments[0],this.nodes.addNode(n)):arguments[0]instanceof r?(t=arguments[0],this.nodes.addNode(t)):void 0},getNodeIterator:function(){return this.nodes.iterator()},linkResultDirectedEdges:function(){for(var n=this.nodes.iterator();n.hasNext();)n.next().getEdges().linkResultDirectedEdges()},debugPrintln:function(n){pt.out.println(n)},isBoundaryNode:function(n,t){var u=this.nodes.find(t),r;return null===u?!1:(r=u.getLabel(),null!==r&&r.getLocation(n)===i.BOUNDARY)},linkAllDirectedEdges:function(){for(var n=this.nodes.iterator();n.hasNext();)n.next().getEdges().linkAllDirectedEdges()},matchInSameDirection:function(n,t,i,r){return!!n.equals(i)&&s.computeOrientation(n,t,r)===s.COLLINEAR&&it.quadrant(n,t)===it.quadrant(i,r)},getEdgeEnds:function(){return this.edgeEndList},debugPrint:function(n){pt.out.print(n)},getEdgeIterator:function(){return this.edges.iterator()},findEdgeInSameDirection:function(n,t){for(var u,i,r=0;r<this.edges.size();r++)if((u=this.edges.get(r),i=u.getCoordinates(),this.matchInSameDirection(n,t,i[0],i[1]))||this.matchInSameDirection(n,t,i[i.length-1],i[i.length-2]))return u;return null},insertEdge:function(n){this.edges.add(n)},findEdgeEnd:function(n){for(var i,t=this.getEdgeEnds().iterator();t.hasNext();)if(i=t.next(),i.getEdge()===n)return i;return null},addEdges:function(n){for(var t,i,r,u=n.iterator();u.hasNext();)t=u.next(),this.edges.add(t),i=new us(t,!0),r=new us(t,!1),i.setSym(r),r.setSym(i),this.add(i),this.add(r)},add:function(n){this.nodes.add(n);this.edgeEndList.add(n)},getNodes:function(){return this.nodes.values()},findEdge:function(n,t){for(var r,u,i=0;i<this.edges.size();i++)if(r=this.edges.get(i),u=r.getCoordinates(),n.equals(u[0])&&t.equals(u[1]))return r;return null},interfaces_:function(){return[]},getClass:function(){return of}});of.linkResultDirectedEdges=function(n){for(var t=n.iterator();t.hasNext();)t.next().getEdges().linkResultDirectedEdges()};t(ev.prototype,{sortShellsAndHoles:function(n,t,i){for(var r,u=n.iterator();u.hasNext();)r=u.next(),r.isHole()?i.add(r):t.add(r)},computePolygons:function(n){for(var r,f,t=new u,i=n.iterator();i.hasNext();)r=i.next(),f=r.toPolygon(this.geometryFactory),t.add(f);return t},placeFreeHoles:function(n,t){for(var i,u,r=t.iterator();r.hasNext();)if(i=r.next(),null===i.getShell()){if(u=this.findEdgeRingContaining(i,n),null===u)throw new vr("unable to assign hole to a shell",i.getCoordinate(0));i.setShell(u)}},buildMinimalEdgeRings:function(n,t,i){for(var r,f,e,o=new u,s=n.iterator();s.hasNext();)r=s.next(),r.getMaxNodeDegree()>2?(r.linkDirectedEdgesForMinimalEdgeRings(),f=r.buildMinimalRings(),e=this.findShell(f),null!==e?(this.placePolygonHoles(e,f),t.add(e)):i.addAll(f)):o.add(r);return o},containsPoint:function(n){for(var t=this.shellList.iterator();t.hasNext();)if(t.next().containsPoint(n))return!0;return!1},buildMaximalEdgeRings:function(n){for(var t,f,i=new u,r=n.iterator();r.hasNext();)t=r.next(),t.isInResult()&&t.getLabel().isArea()&&null===t.getEdgeRing()&&(f=new wc(t,this.geometryFactory),i.add(f),f.setInResult());return i},placePolygonHoles:function(n,t){for(var r,i=t.iterator();i.hasNext();)r=i.next(),r.isHole()&&r.setShell(n)},getPolygons:function(){return this.computePolygons(this.shellList)},findEdgeRingContaining:function(n,t){for(var r,u=n.getLinearRing(),l=u.getEnvelopeInternal(),a=u.getCoordinateN(0),i=null,f=null,e=t.iterator();e.hasNext();){var o=e.next(),h=o.getLinearRing(),c=h.getEnvelopeInternal();null!==i&&(f=i.getLinearRing().getEnvelopeInternal());r=!1;c.contains(l)&&s.isPointInRing(a,h.getCoordinates())&&(r=!0);r&&(null===i||f.contains(c))&&(i=o)}return i},findShell:function(n){for(var t,i=0,r=null,u=n.iterator();u.hasNext();)t=u.next(),t.isHole()||(r=t,i++);return c.isTrue(i<=1,"found two shells in MinimalEdgeRing list"),r},add:function(){var n,i,r;if(1===arguments.length)n=arguments[0],this.add(n.getEdgeEnds(),n.getNodes());else if(2===arguments.length){i=arguments[0];r=arguments[1];of.linkResultDirectedEdges(r);var f=this.buildMaximalEdgeRings(i),t=new u,e=this.buildMinimalEdgeRings(f,this.shellList,t);this.sortShellsAndHoles(e,this.shellList,t);this.placeFreeHoles(this.shellList,t)}},interfaces_:function(){return[]},getClass:function(){return ev}});t(rw.prototype,{collectLines:function(n){for(var i,t=this.op.getGraph().getEdgeEnds().iterator();t.hasNext();)i=t.next(),this.collectLineEdge(i,n,this.lineEdgesList),this.collectBoundaryTouchEdge(i,n,this.lineEdgesList)},labelIsolatedLine:function(n,t){var i=this.ptLocator.locate(n.getCoordinate(),this.op.getArgGeometry(t));n.getLabel().setLocation(t,i)},build:function(n){return this.findCoveredLineEdges(),this.collectLines(n),this.buildLines(n),this.resultLineList},collectLineEdge:function(n,t,i){var u=n.getLabel(),r=n.getEdge();n.isLineEdge()&&(n.isVisited()||!v.isResultOfOp(u,t)||r.isCovered()||(i.add(r),n.setVisitedEdge(!0)))},findCoveredLineEdges:function(){for(var i,n,r,u,t=this.op.getGraph().getNodes().iterator();t.hasNext();)t.next().getEdges().findCoveredLineEdges();for(i=this.op.getGraph().getEdgeEnds().iterator();i.hasNext();)n=i.next(),r=n.getEdge(),n.isLineEdge()&&!r.isCoveredSet()&&(u=this.op.isCoveredByA(n.getCoordinate()),r.setCovered(u))},labelIsolatedLines:function(n){for(var t,r,i=n.iterator();i.hasNext();)t=i.next(),r=t.getLabel(),t.isIsolated()&&(r.isNull(0)?this.labelIsolatedLine(t,0):this.labelIsolatedLine(t,1))},buildLines:function(){for(var n,i,t=this.lineEdgesList.iterator();t.hasNext();)n=t.next(),i=(n.getLabel(),this.geometryFactory.createLineString(n.getCoordinates())),this.resultLineList.add(i),n.setInResult(!0)},collectBoundaryTouchEdge:function(n,t,i){var r=n.getLabel();return n.isLineEdge()?null:n.isVisited()?null:n.isInteriorAreaEdge()?null:n.getEdge().isInResult()?null:(c.isTrue(!(n.isInResult()||n.getSym().isInResult())||!n.getEdge().isInResult()),void(v.isResultOfOp(r,t)&&t===v.INTERSECTION&&(i.add(n.getEdge()),n.setVisitedEdge(!0))))},interfaces_:function(){return[]},getClass:function(){return rw}});t(uw.prototype,{filterCoveredNodeToPoint:function(n){var t=n.getCoordinate(),i;this.op.isCoveredByLA(t)||(i=this.geometryFactory.createPoint(t),this.resultPointList.add(i))},extractNonCoveredResultNodes:function(n){for(var t,r,i=this.op.getGraph().getNodes().iterator();i.hasNext();)t=i.next(),t.isInResult()||t.isIncidentEdgeInResult()||0!==t.getEdges().getDegree()&&n!==v.INTERSECTION||(r=t.getLabel(),v.isResultOfOp(r,n)&&this.filterCoveredNodeToPoint(t))},build:function(n){return this.extractNonCoveredResultNodes(n),this.resultPointList},interfaces_:function(){return[]},getClass:function(){return uw}});t(ov.prototype,{locate:function(){},interfaces_:function(){return[]},getClass:function(){return ov}});t(iu.prototype,{locate:function(n){return iu.locate(n,this.geom)},interfaces_:function(){return[ov]},getClass:function(){return iu}});iu.isPointInRing=function(n,t){return!!t.getEnvelopeInternal().intersects(n)&&s.isPointInRing(n,t.getCoordinates())};iu.containsPointInPolygon=function(n,t){var r,i,u;if(t.isEmpty()||(r=t.getExteriorRing(),!iu.isPointInRing(n,r)))return!1;for(i=0;i<t.getNumInteriorRing();i++)if(u=t.getInteriorRingN(i),iu.isPointInRing(n,u))return!1;return!0};iu.containsPoint=function(n,t){var i,r;if(t instanceof ht)return iu.containsPointInPolygon(n,t);if(t instanceof nt)for(i=new ts(t);i.hasNext();)if(r=i.next(),r!==t&&iu.containsPoint(n,r))return!0;return!1};iu.locate=function(n,t){return t.isEmpty()?i.EXTERIOR:iu.containsPoint(n,t)?i.INTERIOR:i.EXTERIOR};t(es.prototype,{getNextCW:function(n){this.getEdges();var t=this.edgeList.indexOf(n),i=t-1;return 0===t&&(i=this.edgeList.size()-1),this.edgeList.get(i)},propagateSideLabels:function(n){for(var f,u,t,s,h,e=i.NONE,r=this.iterator();r.hasNext();)u=r.next(),t=u.getLabel(),t.isArea(n)&&t.getLocation(n,o.LEFT)!==i.NONE&&(e=t.getLocation(n,o.LEFT));if(e===i.NONE)return null;for(f=e,r=this.iterator();r.hasNext();)if(u=r.next(),t=u.getLabel(),t.getLocation(n,o.ON)===i.NONE&&t.setLocation(n,o.ON,f),t.isArea(n))if(s=t.getLocation(n,o.LEFT),h=t.getLocation(n,o.RIGHT),h!==i.NONE){if(h!==f)throw new vr("side location conflict",u.getCoordinate());s===i.NONE&&c.shouldNeverReachHere("found single null side (at "+u.getCoordinate()+")");f=s}else c.isTrue(t.getLocation(n,o.LEFT)===i.NONE,"found single null side"),t.setLocation(n,o.RIGHT,f),t.setLocation(n,o.LEFT,f)},getCoordinate:function(){var n=this.iterator();return n.hasNext()?n.next().getCoordinate():null},print:function(n){pt.out.println("EdgeEndStar:   "+this.getCoordinate());for(var t=this.iterator();t.hasNext();)t.next().print(n)},isAreaLabelsConsistent:function(n){return this.computeEdgeEndLabels(n.getBoundaryNodeRule()),this.checkAreaLabelsConsistent(0)},checkAreaLabelsConsistent:function(n){var r=this.getEdges(),u,f,l,t,e,s;if(r.size()<=0)return!0;var a=r.size()-1,v=r.get(a).getLabel(),h=v.getLocation(n,o.LEFT);for(c.isTrue(h!==i.NONE,"Found unlabelled area edge"),u=h,f=this.iterator();f.hasNext();){if((l=f.next(),t=l.getLabel(),c.isTrue(t.isArea(n),"Found non-area edge"),e=t.getLocation(n,o.LEFT),s=t.getLocation(n,o.RIGHT),e===s)||s!==u)return!1;u=e}return!0},findIndex:function(n){this.iterator();for(var t=0;t<this.edgeList.size();t++)if(this.edgeList.get(t)===n)return t;return-1},iterator:function(){return this.getEdges().iterator()},getEdges:function(){return null===this.edgeList&&(this.edgeList=new u(this.edgeMap.values())),this.edgeList},getLocation:function(n,t,r){return this.ptInAreaLocation[n]===i.NONE&&(this.ptInAreaLocation[n]=iu.locate(t,r[n].getGeometry())),this.ptInAreaLocation[n]},toString:function(){var n=new su,t,i;for(n.append("EdgeEndStar:   "+this.getCoordinate()),n.append("\n"),t=this.iterator();t.hasNext();)i=t.next(),n.append(i),n.append("\n");return n.toString()},computeEdgeEndLabels:function(n){for(var t=this.iterator();t.hasNext();)t.next().computeLabel(n)},computeLabelling:function(n){var o,r,e,s;for(this.computeEdgeEndLabels(n[0].getBoundaryNodeRule()),this.propagateSideLabels(0),this.propagateSideLabels(1),o=[!1,!1],r=this.iterator();r.hasNext();)for(var f=r.next(),u=f.getLabel(),t=0;t<2;t++)u.isLine(t)&&u.getLocation(t)===i.BOUNDARY&&(o[t]=!0);for(r=this.iterator();r.hasNext();)for(var f=r.next(),u=f.getLabel(),t=0;t<2;t++)u.isAnyNull(t)&&(e=i.NONE,o[t]?e=i.EXTERIOR:(s=f.getCoordinate(),e=this.getLocation(t,s,n)),u.setAllLocationsIfNull(t,e))},getDegree:function(){return this.edgeMap.size()},insertEdgeEnd:function(n,t){this.edgeMap.put(n,t);this.edgeList=null},interfaces_:function(){return[]},getClass:function(){return es}});y(sv,es);t(sv.prototype,{linkResultDirectedEdges:function(){var n,f;this.getResultAreaEdges();for(var t=null,r=null,i=this.SCANNING_FOR_INCOMING,u=0;u<this.resultAreaEdgeList.size();u++)if(n=this.resultAreaEdgeList.get(u),f=n.getSym(),n.getLabel().isArea())switch(null===t&&n.isInResult()&&(t=n),i){case this.SCANNING_FOR_INCOMING:if(!f.isInResult())continue;r=f;i=this.LINKING_TO_OUTGOING;break;case this.LINKING_TO_OUTGOING:if(!n.isInResult())continue;r.setNext(n);i=this.SCANNING_FOR_INCOMING}if(i===this.LINKING_TO_OUTGOING){if(null===t)throw new vr("no outgoing dirEdge found",this.getCoordinate());c.isTrue(t.isInResult(),"unable to link last incoming dirEdge");r.setNext(t)}},insert:function(n){var t=n;this.insertEdgeEnd(t,t)},getRightmostEdge:function(){var i=this.getEdges(),r=i.size(),n;if(r<1)return null;if(n=i.get(0),1===r)return n;var t=i.get(r-1),u=n.getQuadrant(),f=t.getQuadrant();return it.isNorthern(u)&&it.isNorthern(f)?n:!it.isNorthern(u)&&!it.isNorthern(f)?t:0!==n.getDy()?n:0!==t.getDy()?t:(c.shouldNeverReachHere("found two horizontal edges incident on node"),null)},print:function(n){var t,i;for(pt.out.println("DirectedEdgeStar: "+this.getCoordinate()),t=this.iterator();t.hasNext();)i=t.next(),n.print("out "),i.print(n),n.println(),n.print("in "),i.getSym().print(n),n.println()},getResultAreaEdges:function(){var t,n;if(null!==this.resultAreaEdgeList)return this.resultAreaEdgeList;for(this.resultAreaEdgeList=new u,t=this.iterator();t.hasNext();)n=t.next(),(n.isInResult()||n.getSym().isInResult())&&this.resultAreaEdgeList.add(n);return this.resultAreaEdgeList},updateLabelling:function(n){for(var r,i,t=this.iterator();t.hasNext();)r=t.next(),i=r.getLabel(),i.setAllLocationsIfNull(0,n.getLocation(0)),i.setAllLocationsIfNull(1,n.getLocation(1))},linkAllDirectedEdges:function(){var r,u;this.getEdges();for(var n=null,t=null,i=this.edgeList.size()-1;i>=0;i--)r=this.edgeList.get(i),u=r.getSym(),null===t&&(t=u),null!==n&&u.setNext(n),n=r;t.setNext(n)},computeDepths:function(){var t;if(1===arguments.length){var n=arguments[0],u=this.findIndex(n),f=(n.getLabel(),n.getDepth(o.LEFT)),e=n.getDepth(o.RIGHT),s=this.computeDepths(u+1,this.edgeList.size(),f);if(this.computeDepths(0,u,s)!==e)throw new vr("depth mismatch at "+n.getCoordinate());}else if(3===arguments.length){for(var h=arguments[0],c=arguments[1],l=arguments[2],i=l,r=h;r<c;r++)t=this.edgeList.get(r),t.getLabel(),t.setEdgeDepths(o.RIGHT,i),i=t.getDepth(o.LEFT);return i}},mergeSymLabels:function(){for(var t,n=this.iterator();n.hasNext();)t=n.next(),t.getLabel().merge(t.getSym().getLabel())},linkMinimalDirectedEdges:function(n){for(var t,e,i=null,u=null,r=this.SCANNING_FOR_INCOMING,f=this.resultAreaEdgeList.size()-1;f>=0;f--){t=this.resultAreaEdgeList.get(f);e=t.getSym();switch(null===i&&t.getEdgeRing()===n&&(i=t),r){case this.SCANNING_FOR_INCOMING:if(e.getEdgeRing()!==n)continue;u=e;r=this.LINKING_TO_OUTGOING;break;case this.LINKING_TO_OUTGOING:if(t.getEdgeRing()!==n)continue;u.setNextMin(t);r=this.SCANNING_FOR_INCOMING}}r===this.LINKING_TO_OUTGOING&&(c.isTrue(null!==i,"found null for first outgoing dirEdge"),c.isTrue(i.getEdgeRing()===n,"unable to link last incoming dirEdge"),u.setNextMin(i))},getOutgoingDegree:function(){var n,t,i;if(0===arguments.length){for(n=0,t=this.iterator();t.hasNext();)i=t.next(),i.isInResult()&&n++;return n}if(1===arguments.length){for(var r=arguments[0],n=0,t=this.iterator();t.hasNext();)i=t.next(),i.getEdgeRing()===r&&n++;return n}},getLabel:function(){return this.label},findCoveredLineEdges:function(){for(var f,n,u,r=i.NONE,t=this.iterator();t.hasNext();)if(n=t.next(),u=n.getSym(),!n.isLineEdge()){if(n.isInResult()){r=i.INTERIOR;break}if(u.isInResult()){r=i.EXTERIOR;break}}if(r===i.NONE)return null;for(f=r,t=this.iterator();t.hasNext();)n=t.next(),u=n.getSym(),n.isLineEdge()?n.getEdge().setCovered(f===i.INTERIOR):(n.isInResult()&&(f=i.EXTERIOR),u.isInResult()&&(f=i.INTERIOR))},computeLabelling:function(n){var r,u;for(es.prototype.computeLabelling.call(this,n),this.label=new ii(i.NONE),r=this.iterator();r.hasNext();)for(var f=r.next(),e=f.getEdge(),o=e.getLabel(),t=0;t<2;t++)u=o.getLocation(t),u!==i.INTERIOR&&u!==i.BOUNDARY||this.label.setLocation(t,i.INTERIOR)},interfaces_:function(){return[]},getClass:function(){return sv}});y(fh,fs);t(fh.prototype,{createNode:function(n){return new ue(n,new sv)},interfaces_:function(){return[]},getClass:function(){return fh}});t(fw.prototype,{computeIntersections:function(n,t){this.mce.computeIntersectsForChain(this.chainIndex,n.mce,n.chainIndex,t)},interfaces_:function(){return[]},getClass:function(){return fw}});t(fe.prototype,{isDelete:function(){return this.eventType===fe.DELETE},setDeleteEventIndex:function(n){this.deleteEventIndex=n},getObject:function(){return this.obj},compareTo:function(n){var t=n;return this.xValue<t.xValue?-1:this.xValue>t.xValue?1:this.eventType<t.eventType?-1:this.eventType>t.eventType?1:0},getInsertEvent:function(){return this.insertEvent},isInsert:function(){return this.eventType===fe.INSERT},isSameLabel:function(n){return null!==this.label&&this.label===n.label},getDeleteEventIndex:function(){return this.deleteEventIndex},interfaces_:function(){return[ur]},getClass:function(){return fe}});fe.INSERT=1;fe.DELETE=2;t(hv.prototype,{interfaces_:function(){return[]},getClass:function(){return hv}});t(ro.prototype,{isTrivialIntersection:function(n,t,i,r){if(n===i&&1===this.li.getIntersectionNum()){if(ro.isAdjacentSegments(t,r))return!0;if(n.isClosed()){var u=n.getNumPoints()-1;if(0===t&&r===u||0===r&&t===u)return!0}}return!1},getProperIntersectionPoint:function(){return this.properIntersectionPoint},setIsDoneIfProperInt:function(n){this.isDoneWhenProperInt=n},hasProperInteriorIntersection:function(){return this.hasProperInterior},isBoundaryPointInternal:function(n,t){for(var r,u,i=t.iterator();i.hasNext();)if(r=i.next(),u=r.getCoordinate(),n.isIntersection(u))return!0;return!1},hasProperIntersection:function(){return this.hasProper},hasIntersection:function(){return this._hasIntersection},isDone:function(){return this._isDone},isBoundaryPoint:function(n,t){return null!==t&&(!!this.isBoundaryPointInternal(n,t[0])||!!this.isBoundaryPointInternal(n,t[1]))},setBoundaryNodes:function(n,t){this.bdyNodes=new Array(2).fill(null);this.bdyNodes[0]=n;this.bdyNodes[1]=t},addIntersections:function(n,t,i,r){if(n===i&&t===r)return null;this.numTests++;var u=n.getCoordinates()[t],f=n.getCoordinates()[t+1],e=i.getCoordinates()[r],o=i.getCoordinates()[r+1];this.li.computeIntersection(u,f,e,o);this.li.hasIntersection()&&(this.recordIsolated&&(n.setIsolated(!1),i.setIsolated(!1)),this.numIntersections++,this.isTrivialIntersection(n,t,i,r)||(this._hasIntersection=!0,!this.includeProper&&this.li.isProper()||(n.addIntersections(this.li,t,0),i.addIntersections(this.li,r,1)),this.li.isProper()&&(this.properIntersectionPoint=this.li.getIntersection(0).copy(),this.hasProper=!0,this.isDoneWhenProperInt&&(this._isDone=!0),this.isBoundaryPoint(this.li,this.bdyNodes)||(this.hasProperInterior=!0))))},interfaces_:function(){return[]},getClass:function(){return ro}});ro.isAdjacentSegments=function(n,t){return 1===Math.abs(n-t)};y(cv,hv);t(cv.prototype,{prepareEvents:function(){var n,t;for(rf.sort(this.events),n=0;n<this.events.size();n++)t=this.events.get(n),t.isDelete()&&t.getInsertEvent().setDeleteEventIndex(n)},computeIntersections:function(){var i,n,t;if(1===arguments.length){for(i=arguments[0],this.nOverlaps=0,this.prepareEvents(),n=0;n<this.events.size();n++)if(t=this.events.get(n),t.isInsert()&&this.processOverlaps(n,t.getDeleteEventIndex(),t,i),i.isDone())break}else if(3===arguments.length)if(arguments[2]instanceof ro&&l(arguments[0],ei)&&l(arguments[1],ei)){var r=arguments[0],u=arguments[1],e=arguments[2];this.addEdges(r,r);this.addEdges(u,u);this.computeIntersections(e)}else if("boolean"==typeof arguments[2]&&l(arguments[0],ei)&&arguments[1]instanceof ro){var f=arguments[0],o=arguments[1],s=arguments[2];s?this.addEdges(f,null):this.addEdges(f);this.computeIntersections(o)}},addEdge:function(n,t){for(var f,u,r=n.getMonotoneChainEdge(),e=r.getStartIndexes(),i=0;i<e.length-1;i++)f=new fw(r,i),u=new fe(t,r.getMinX(i),f),this.events.add(u),this.events.add(new fe(r.getMaxX(i),u))},processOverlaps:function(n,t,i,r){for(var f,o,e=i.getObject(),u=n;u<t;u++)f=this.events.get(u),f.isInsert()&&(o=f.getObject(),i.isSameLabel(f)||(e.computeIntersections(o,r),this.nOverlaps++))},addEdges:function(){var i,n,t;if(1===arguments.length)for(i=arguments[0],n=i.iterator();n.hasNext();)t=n.next(),this.addEdge(t,t);else if(2===arguments.length)for(var r=arguments[0],u=arguments[1],n=r.iterator();n.hasNext();)t=n.next(),this.addEdge(t,u)},interfaces_:function(){return[]},getClass:function(){return cv}});t(os.prototype,{getMin:function(){return this.min},intersects:function(n,t){return!(this.min>t||this.max<n)},getMax:function(){return this.max},toString:function(){return wi.toLineString(new r(this.min,0),new r(this.max,0))},interfaces_:function(){return[]},getClass:function(){return os}});t(ew.prototype,{compare:function(n,t){var i=n,r=t,u=(i.min+i.max)/2,f=(r.min+r.max)/2;return u<f?-1:u>f?1:0},interfaces_:function(){return[ke]},getClass:function(){return ew}});os.NodeComparator=ew;y(lv,os);t(lv.prototype,{query:function(n,t,i){if(!this.intersects(n,t))return null;i.visitItem(this.item)},interfaces_:function(){return[]},getClass:function(){return lv}});y(av,os);t(av.prototype,{buildExtent:function(n,t){this.min=Math.min(n.min,t.min);this.max=Math.max(n.max,t.max)},query:function(n,t,i){if(!this.intersects(n,t))return null;null!==this.node1&&this.node1.query(n,t,i);null!==this.node2&&this.node2.query(n,t,i)},interfaces_:function(){return[]},getClass:function(){return av}});t(ow.prototype,{buildTree:function(){rf.sort(this.leaves,new IntervalRTreeNode.NodeComparator);for(var t=this.leaves,i=null,n=new u;;){if(this.buildLevel(t,n),1===n.size())return n.get(0);i=t;t=n;n=i}},insert:function(n,t,i){if(null!==this.root)throw new IllegalStateException("Index cannot be added to once it has been queried");this.leaves.add(new lv(n,t,i))},query:function(n,t,i){this.init();this.root.query(n,t,i)},buildRoot:function(){if(null!==this.root)return null;this.root=this.buildTree()},printNode:function(n){pt.out.println(wi.toLineString(new r(n.min,this.level),new r(n.max,this.level)))},init:function(){if(null!==this.root)return null;this.buildRoot()},buildLevel:function(n,t){var i,r,u;for(this.level++,t.clear(),i=0;i<n.size();i+=2)r=n.get(i),null===(i+1<n.size()?n.get(i):null)?t.add(r):(u=new av(n.get(i),n.get(i+1)),t.add(u))},interfaces_:function(){return[]},getClass:function(){return ow}});t(bi.prototype,{filter:function(n){if(this.isForcedToLineString&&n instanceof ni){var t=n.getFactory().createLineString(n.getCoordinateSequence());return this.lines.add(t),null}n instanceof d&&this.lines.add(n)},setForceToLineString:function(n){this.isForcedToLineString=n},interfaces_:function(){return[wu]},getClass:function(){return bi}});bi.getGeometry=function(){var n,t,i;return 1===arguments.length?(n=arguments[0],n.getFactory().buildGeometry(bi.getLines(n))):2===arguments.length?(t=arguments[0],i=arguments[1],t.getFactory().buildGeometry(bi.getLines(t,i))):void 0};bi.getLines=function(){var f,i,r,t;if(1===arguments.length)return f=arguments[0],bi.getLines(f,!1);if(2===arguments.length){if(l(arguments[0],yt)&&l(arguments[1],yt)){for(var a=arguments[0],e=arguments[1],n=a.iterator();n.hasNext();)t=n.next(),bi.getLines(t,e);return e}if(arguments[0]instanceof h&&"boolean"==typeof arguments[1]){var v=arguments[0],y=arguments[1],o=new u;return v.apply(new bi(o,y)),o}if(arguments[0]instanceof h&&l(arguments[1],yt))return i=arguments[0],r=arguments[1],i instanceof d?r.add(i):i.apply(new bi(r)),r}else if(3===arguments.length){if("boolean"==typeof arguments[2]&&l(arguments[0],yt)&&l(arguments[1],yt)){for(var p=arguments[0],s=arguments[1],w=arguments[2],n=p.iterator();n.hasNext();)t=n.next(),bi.getLines(t,s,w);return s}if("boolean"==typeof arguments[2]&&arguments[0]instanceof h&&l(arguments[1],yt)){var b=arguments[0],c=arguments[1],k=arguments[2];return b.apply(new bi(c,k)),c}}};t(vv.prototype,{visitItem:function(n){this.items.add(n)},getItems:function(){return this.items},interfaces_:function(){return[no]},getClass:function(){return vv}});t(bc.prototype,{locate:function(n){var t=new ns(n),i=new yv(t);return this.index.query(n.y,n.y,i),t.getLocation()},interfaces_:function(){return[ov]},getClass:function(){return bc}});t(yv.prototype,{visitItem:function(n){var t=n;this.counter.countSegment(t.getCoordinate(0),t.getCoordinate(1))},interfaces_:function(){return[no]},getClass:function(){return yv}});t(pv.prototype,{init:function(n){for(var r,u,i=bi.getLines(n),t=i.iterator();t.hasNext();)r=t.next(),u=r.getCoordinates(),this.addLine(u)},addLine:function(n){for(var t=1;t<n.length;t++){var i=new b(n[t-1],n[t]),r=Math.min(i.p0.y,i.p1.y),u=Math.max(i.p0.y,i.p1.y);this.index.insert(r,u,i)}},query:function(){if(2===arguments.length){var t=arguments[0],i=arguments[1],n=new vv;return this.index.query(t,i,n),n.getItems()}if(3===arguments.length){var r=arguments[0],u=arguments[1],f=arguments[2];this.index.query(r,u,f)}},interfaces_:function(){return[]},getClass:function(){return pv}});bc.SegmentVisitor=yv;bc.IntervalIndexedGeometry=pv;t(sw.prototype,{getSegmentIndex:function(){return this.segmentIndex},getCoordinate:function(){return this.coord},print:function(n){n.print(this.coord);n.print(" seg # = "+this.segmentIndex);n.println(" dist = "+this.dist)},compareTo:function(n){var t=n;return this.compare(t.segmentIndex,t.dist)},isEndPoint:function(n){return 0===this.segmentIndex&&0===this.dist||this.segmentIndex===n},toString:function(){return this.coord+" seg # = "+this.segmentIndex+" dist = "+this.dist},getDistance:function(){return this.dist},compare:function(n,t){return this.segmentIndex<n?-1:this.segmentIndex>n?1:this.dist<t?-1:this.dist>t?1:0},interfaces_:function(){return[ur]},getClass:function(){return sw}});t(hw.prototype,{print:function(n){n.println("Intersections:");for(var t=this.iterator();t.hasNext();)t.next().print(n)},iterator:function(){return this.nodeMap.values().iterator()},addSplitEdges:function(n){var t,i,r,u;for(this.addEndpoints(),t=this.iterator(),i=t.next();t.hasNext();)r=t.next(),u=this.createSplitEdge(i,r),n.add(u),i=r},addEndpoints:function(){var n=this.edge.pts.length-1;this.add(this.edge.pts[0],0,0);this.add(this.edge.pts[n],n,0)},createSplitEdge:function(n,t){var e=t.segmentIndex-n.segmentIndex+2,s=this.edge.pts[t.segmentIndex],o=t.dist>0||!t.coord.equals2D(s),i,u,f;for(o||e--,i=new Array(e).fill(null),u=0,i[u++]=new r(n.coord),f=n.segmentIndex+1;f<=t.segmentIndex;f++)i[u++]=this.edge.pts[f];return o&&(i[u]=t.coord),new hu(i,new ii(this.edge.label))},add:function(n,t,i){var r=new sw(n,t,i),u=this.nodeMap.get(r);return null!==u?u:(this.nodeMap.put(r,r),r)},isIntersection:function(n){for(var t=this.iterator();t.hasNext();)if(t.next().coord.equals(n))return!0;return!1},interfaces_:function(){return[]},getClass:function(){return hw}});t(kc.prototype,{getChainStartIndices:function(n){var t=0,i=new u,r;i.add(new pu(t));do r=this.findChainEnd(n,t),i.add(new pu(r)),t=r;while(t<n.length-1);return kc.toIntArray(i)},findChainEnd:function(n,t){for(var r=it.quadrant(n[t],n[t+1]),i=t+1;i<n.length;){if(it.quadrant(n[i-1],n[i])!==r)break;i++}return i-1},interfaces_:function(){return[]},getClass:function(){return kc}});kc.toIntArray=function(n){for(var i=new Array(n.size()).fill(null),t=0;t<i.length;t++)i[t]=n.get(t).intValue();return i};t(cw.prototype,{getCoordinates:function(){return this.pts},getMaxX:function(n){var t=this.pts[this.startIndex[n]].x,i=this.pts[this.startIndex[n+1]].x;return t>i?t:i},getMinX:function(n){var t=this.pts[this.startIndex[n]].x,i=this.pts[this.startIndex[n+1]].x;return t<i?t:i},computeIntersectsForChain:function(){var f,n;if(4===arguments.length){var h=arguments[0],s=arguments[1],c=arguments[2],l=arguments[3];this.computeIntersectsForChain(this.startIndex[h],this.startIndex[h+1],s,s.startIndex[c],s.startIndex[c+1],l)}else if(6===arguments.length){var i=arguments[0],e=arguments[1],r=arguments[2],t=arguments[3],u=arguments[4],o=arguments[5],a=this.pts[i],v=this.pts[e],y=r.pts[t],p=r.pts[u];if(e-i==1&&u-t==1)return o.addIntersections(this.e,i,r.e,t),null;if(this.env1.init(a,v),this.env2.init(y,p),!this.env1.intersects(this.env2))return null;f=Math.trunc((i+e)/2);n=Math.trunc((t+u)/2);i<f&&(t<n&&this.computeIntersectsForChain(i,f,r,t,n,o),n<u&&this.computeIntersectsForChain(i,f,r,n,u,o));f<e&&(t<n&&this.computeIntersectsForChain(f,e,r,t,n,o),n<u&&this.computeIntersectsForChain(f,e,r,n,u,o))}},getStartIndexes:function(){return this.startIndex},computeIntersects:function(n,t){for(var r,i=0;i<this.startIndex.length-1;i++)for(r=0;r<n.startIndex.length-1;r++)this.computeIntersectsForChain(i,n,r,t)},interfaces_:function(){return[]},getClass:function(){return cw}});t(ku.prototype,{getDepth:function(n,t){return this.depth[n][t]},setDepth:function(n,t,i){this.depth[n][t]=i},isNull:function(){var n,t,i,r,u;if(0===arguments.length){for(n=0;n<2;n++)for(t=0;t<3;t++)if(this.depth[n][t]!==ku.NULL_VALUE)return!1;return!0}return 1===arguments.length?(i=arguments[0],this.depth[i][1]===ku.NULL_VALUE):2===arguments.length?(r=arguments[0],u=arguments[1],this.depth[r][u]===ku.NULL_VALUE):void 0},normalize:function(){for(var t,i,r,n=0;n<2;n++)if(!this.isNull(n))for(t=this.depth[n][1],this.depth[n][2]<t&&(t=this.depth[n][2]),t<0&&(t=0),i=1;i<3;i++)r=0,this.depth[n][i]>t&&(r=1),this.depth[n][i]=r},getDelta:function(n){return this.depth[n][o.RIGHT]-this.depth[n][o.LEFT]},getLocation:function(n,t){return this.depth[n][t]<=0?i.EXTERIOR:i.INTERIOR},toString:function(){return"A: "+this.depth[0][1]+","+this.depth[0][2]+" B: "+this.depth[1][1]+","+this.depth[1][2]},add:function(){var u,n,t,r;if(1===arguments.length)for(u=arguments[0],n=0;n<2;n++)for(t=1;t<3;t++)r=u.getLocation(n,t),r!==i.EXTERIOR&&r!==i.INTERIOR||(this.isNull(n,t)?this.depth[n][t]=ku.depthAtLocation(r):this.depth[n][t]+=ku.depthAtLocation(r));else if(3===arguments.length){var f=arguments[0],e=arguments[1],o=arguments[2];o===i.INTERIOR&&this.depth[f][e]++}},interfaces_:function(){return[]},getClass:function(){return ku}});ku.depthAtLocation=function(n){return n===i.EXTERIOR?0:n===i.INTERIOR?1:ku.NULL_VALUE};ku.NULL_VALUE=-1;y(hu,io);t(hu.prototype,{getDepth:function(){return this.depth},getCollapsedEdge:function(){var n=new Array(2).fill(null);return n[0]=this.pts[0],n[1]=this.pts[1],new hu(n,ii.toLineLabel(this.label))},isIsolated:function(){return this._isIsolated},getCoordinates:function(){return this.pts},setIsolated:function(n){this._isIsolated=n},setName:function(n){this.name=n},equals:function(n){var i;if(!(n instanceof hu)||(i=n,this.pts.length!==i.pts.length))return!1;for(var r=!0,u=!0,f=this.pts.length,t=0;t<this.pts.length;t++)if(this.pts[t].equals2D(i.pts[t])||(r=!1),this.pts[t].equals2D(i.pts[--f])||(u=!1),!r&&!u)return!1;return!0},getCoordinate:function(){if(0===arguments.length)return this.pts.length>0?this.pts[0]:null;if(1===arguments.length){var n=arguments[0];return this.pts[n]}},print:function(n){n.print("edge "+this.name+": ");n.print("LINESTRING (");for(var t=0;t<this.pts.length;t++)t>0&&n.print(","),n.print(this.pts[t].x+" "+this.pts[t].y);n.print(")  "+this.label+" "+this.depthDelta)},computeIM:function(n){hu.updateIM(this.label,n)},isCollapsed:function(){return!!this.label.isArea()&&3===this.pts.length&&!!this.pts[0].equals(this.pts[2])},isClosed:function(){return this.pts[0].equals(this.pts[this.pts.length-1])},getMaximumSegmentIndex:function(){return this.pts.length-1},getDepthDelta:function(){return this.depthDelta},getNumPoints:function(){return this.pts.length},printReverse:function(n){n.print("edge "+this.name+": ");for(var t=this.pts.length-1;t>=0;t--)n.print(this.pts[t]+" ");n.println("")},getMonotoneChainEdge:function(){return null===this.mce&&(this.mce=new cw(this)),this.mce},getEnvelope:function(){if(null===this.env){this.env=new p;for(var n=0;n<this.pts.length;n++)this.env.expandToInclude(this.pts[n])}return this.env},addIntersection:function(n,t,i,u){var o=new r(n.getIntersection(u)),f=t,s=n.getEdgeDistance(i,u),e=f+1,h;e<this.pts.length&&(h=this.pts[e],o.equals2D(h)&&(f=e,s=0));this.eiList.add(o,f,s)},toString:function(){var n=new su,t;for(n.append("edge "+this.name+": "),n.append("LINESTRING ("),t=0;t<this.pts.length;t++)t>0&&n.append(","),n.append(this.pts[t].x+" "+this.pts[t].y);return n.append(")  "+this.label+" "+this.depthDelta),n.toString()},isPointwiseEqual:function(n){if(this.pts.length!==n.pts.length)return!1;for(var t=0;t<this.pts.length;t++)if(!this.pts[t].equals2D(n.pts[t]))return!1;return!0},setDepthDelta:function(n){this.depthDelta=n},getEdgeIntersectionList:function(){return this.eiList},addIntersections:function(n,t,i){for(var r=0;r<n.getIntersectionNum();r++)this.addIntersection(n,t,i,r)},interfaces_:function(){return[]},getClass:function(){return hu}});hu.updateIM=function(){if(2!==arguments.length)return io.prototype.updateIM.apply(this,arguments);var n=arguments[0],t=arguments[1];t.setAtLeastIfValid(n.getLocation(0,o.ON),n.getLocation(1,o.ON),1);n.isArea()&&(t.setAtLeastIfValid(n.getLocation(0,o.LEFT),n.getLocation(1,o.LEFT),2),t.setAtLeastIfValid(n.getLocation(0,o.RIGHT),n.getLocation(1,o.RIGHT),2))};y(cr,of);t(cr.prototype,{insertBoundaryPoint:function(n,t){var e=this.nodes.addNode(t),r=e.getLabel(),u=1,s=i.NONE,f;(s=r.getLocation(n,o.ON))===i.BOUNDARY&&u++;f=cr.determineBoundary(this.boundaryNodeRule,u);r.setLocation(n,f)},computeSelfNodes:function(){var t,i;if(2===arguments.length)return t=arguments[0],i=arguments[1],this.computeSelfNodes(t,i,!1);if(3===arguments.length){var r=arguments[0],u=arguments[1],f=arguments[2],n=new ro(r,!0,!1);n.setIsDoneIfProperInt(f);var e=this.createEdgeSetIntersector(),o=this.parentGeom instanceof ni||this.parentGeom instanceof ht||this.parentGeom instanceof vi,s=u||!o;return e.computeIntersections(this.edges,n,s),this.addSelfIntersectionNodes(this.argIndex),n}},computeSplitEdges:function(n){for(var t=this.edges.iterator();t.hasNext();)t.next().eiList.addSplitEdges(n)},computeEdgeIntersections:function(n,t,i){var r=new ro(t,i,!0);return r.setBoundaryNodes(this.getBoundaryNodes(),n.getBoundaryNodes()),this.createEdgeSetIntersector().computeIntersections(this.edges,n.edges,r),r},getGeometry:function(){return this.parentGeom},getBoundaryNodeRule:function(){return this.boundaryNodeRule},hasTooFewPoints:function(){return this._hasTooFewPoints},addPoint:function(){var n,t,u;arguments[0]instanceof bt?(n=arguments[0],t=n.getCoordinate(),this.insertPoint(this.argIndex,t,i.INTERIOR)):arguments[0]instanceof r&&(u=arguments[0],this.insertPoint(this.argIndex,u,i.INTERIOR))},addPolygon:function(n){var t,r;for(this.addPolygonRing(n.getExteriorRing(),i.EXTERIOR,i.INTERIOR),t=0;t<n.getNumInteriorRing();t++)r=n.getInteriorRingN(t),this.addPolygonRing(r,i.INTERIOR,i.EXTERIOR)},addEdge:function(n){this.insertEdge(n);var t=n.getCoordinates();this.insertPoint(this.argIndex,t[0],i.BOUNDARY);this.insertPoint(this.argIndex,t[t.length-1],i.BOUNDARY)},addLineString:function(n){var t=w.removeRepeatedPoints(n.getCoordinates()),r;if(t.length<2)return this._hasTooFewPoints=!0,this.invalidPoint=t[0],null;r=new hu(t,new ii(this.argIndex,i.INTERIOR));this.lineEdgeMap.put(n,r);this.insertEdge(r);c.isTrue(t.length>=2,"found LineString with single point");this.insertBoundaryPoint(this.argIndex,t[0]);this.insertBoundaryPoint(this.argIndex,t[t.length-1])},getInvalidPoint:function(){return this.invalidPoint},getBoundaryPoints:function(){for(var r,n=this.getBoundaryNodes(),t=new Array(n.size()).fill(null),u=0,i=n.iterator();i.hasNext();)r=i.next(),t[u++]=r.getCoordinate().copy();return t},getBoundaryNodes:function(){return null===this.boundaryNodes&&(this.boundaryNodes=this.nodes.getBoundaryNodes(this.argIndex)),this.boundaryNodes},addSelfIntersectionNode:function(n,t,r){if(this.isBoundaryNode(n,t))return null;r===i.BOUNDARY&&this.useBoundaryDeterminationRule?this.insertBoundaryPoint(n,t):this.insertPoint(n,t,r)},addPolygonRing:function(n,t,r){var u,f,e,o;if(n.isEmpty())return null;if(u=w.removeRepeatedPoints(n.getCoordinates()),u.length<4)return this._hasTooFewPoints=!0,this.invalidPoint=u[0],null;f=t;e=r;s.isCCW(u)&&(f=r,e=t);o=new hu(u,new ii(this.argIndex,i.BOUNDARY,f,e));this.lineEdgeMap.put(n,o);this.insertEdge(o);this.insertPoint(this.argIndex,u[0],i.BOUNDARY)},insertPoint:function(n,t,i){var r=this.nodes.addNode(t),u=r.getLabel();null===u?r.label=new ii(n,i):u.setLocation(n,i)},createEdgeSetIntersector:function(){return new cv},addSelfIntersectionNodes:function(n){for(var u,t=this.edges.iterator();t.hasNext();)for(var i=t.next(),f=i.getLabel().getLocation(n),r=i.eiList.iterator();r.hasNext();)u=r.next(),this.addSelfIntersectionNode(n,u.coord,f)},add:function(){if(1!==arguments.length)return of.prototype.add.apply(this,arguments);var n=arguments[0];if(n.isEmpty())return null;if(n instanceof vi&&(this.useBoundaryDeterminationRule=!1),n instanceof ht)this.addPolygon(n);else if(n instanceof d)this.addLineString(n);else if(n instanceof bt)this.addPoint(n);else if(n instanceof ar)this.addCollection(n);else if(n instanceof nr)this.addCollection(n);else if(n instanceof vi)this.addCollection(n);else{if(!(n instanceof nt))throw new UnsupportedOperationException(n.getClass().getName());this.addCollection(n)}},addCollection:function(n){for(var i,t=0;t<n.getNumGeometries();t++)i=n.getGeometryN(t),this.add(i)},locate:function(n){return l(this.parentGeom,gf)&&this.parentGeom.getNumGeometries()>50?(null===this.areaPtLocator&&(this.areaPtLocator=new bc(this.parentGeom)),this.areaPtLocator.locate(n)):this.ptLocator.locate(n,this.parentGeom)},findEdge:function(){if(1===arguments.length){var n=arguments[0];return this.lineEdgeMap.get(n)}return of.prototype.findEdge.apply(this,arguments)},interfaces_:function(){return[]},getClass:function(){return cr}});cr.determineBoundary=function(n,t){return n.isInBoundary(t)?i.BOUNDARY:i.INTERIOR};t(uo.prototype,{getArgGeometry:function(n){return this.arg[n].getGeometry()},setComputationPrecision:function(n){this.resultPrecisionModel=n;this.li.setPrecisionModel(this.resultPrecisionModel)},interfaces_:function(){return[]},getClass:function(){return uo}});t(fo.prototype,{compareTo:function(n){var t=n;return fo.compareOriented(this.pts,this._orientation,t.pts,t._orientation)},interfaces_:function(){return[ur]},getClass:function(){return fo}});fo.orientation=function(n){return 1===w.increasingDirection(n)};fo.compareOriented=function(n,t,i,r){for(var s,u,f,h=t?1:-1,c=r?1:-1,l=t?n.length:-1,a=r?i.length:-1,e=t?0:n.length-1,o=r?0:i.length-1;;){if(s=n[e].compareTo(i[o]),0!==s)return s;if(e+=h,o+=c,u=e===l,f=o===a,u&&!f)return-1;if(!u&&f)return 1;if(u&&f)return 0}};t(wv.prototype,{print:function(n){var i,u,r,t;for(n.print("MULTILINESTRING ( "),i=0;i<this.edges.size();i++){for(u=this.edges.get(i),i>0&&n.print(","),n.print("("),r=u.getCoordinates(),t=0;t<r.length;t++)t>0&&n.print(","),n.print(r[t].x+" "+r[t].y);n.println(")")}n.print(")  ")},addAll:function(n){for(var t=n.iterator();t.hasNext();)this.add(t.next())},findEdgeIndex:function(n){for(var t=0;t<this.edges.size();t++)if(this.edges.get(t).equals(n))return t;return-1},iterator:function(){return this.edges.iterator()},getEdges:function(){return this.edges},get:function(n){return this.edges.get(n)},findEqualEdge:function(n){var t=new fo(n.getCoordinates());return this.ocaMap.get(t)},add:function(n){this.edges.add(n);var t=new fo(n.getCoordinates());this.ocaMap.put(t,n)},interfaces_:function(){return[]},getClass:function(){return wv}});y(v,uo);t(v.prototype,{insertUniqueEdge:function(n){var i=this.edgeList.findEqualEdge(n),u,t,r;null!==i?(u=i.getLabel(),t=n.getLabel(),i.isPointwiseEqual(n)||(t=new ii(n.getLabel()),t.flip()),r=i.getDepth(),r.isNull()&&r.add(u),r.add(t),u.merge(t)):this.edgeList.add(n)},getGraph:function(){return this.graph},cancelDuplicateResultEdges:function(){for(var n,i,t=this.graph.getEdgeEnds().iterator();t.hasNext();)n=t.next(),i=n.getSym(),n.isInResult()&&i.isInResult()&&(n.setInResult(!1),i.setInResult(!1))},isCoveredByLA:function(n){return!!this.isCovered(n,this.resultLineList)||!!this.isCovered(n,this.resultPolyList)},computeGeometry:function(n,t,i,r){var f=new u;return f.addAll(n),f.addAll(t),f.addAll(i),f.isEmpty()?v.createEmptyResult(r,this.arg[0].getGeometry(),this.arg[1].getGeometry(),this.geomFact):this.geomFact.buildGeometry(f)},mergeSymLabels:function(){for(var n=this.graph.getNodes().iterator();n.hasNext();)n.next().getEdges().mergeSymLabels()},isCovered:function(n,t){for(var u,r=t.iterator();r.hasNext();)if(u=r.next(),this.ptLocator.locate(n,u)!==i.EXTERIOR)return!0;return!1},replaceCollapsedEdges:function(){for(var i,t=new u,n=this.edgeList.iterator();n.hasNext();)i=n.next(),i.isCollapsed()&&(n.remove(),t.add(i.getCollapsedEdge()));this.edgeList.addAll(t)},updateNodeLabelling:function(){for(var t,i,n=this.graph.getNodes().iterator();n.hasNext();)t=n.next(),i=t.getEdges().getLabel(),t.getLabel().merge(i)},getResultGeometry:function(n){return this.computeOverlay(n),this.resultGeom},insertUniqueEdges:function(n){for(var i,t=n.iterator();t.hasNext();)i=t.next(),this.insertUniqueEdge(i)},computeOverlay:function(n){var t,i,r,f;this.copyPoints(0);this.copyPoints(1);this.arg[0].computeSelfNodes(this.li,!1);this.arg[1].computeSelfNodes(this.li,!1);this.arg[0].computeEdgeIntersections(this.arg[1],this.li,!0);t=new u;this.arg[0].computeSplitEdges(t);this.arg[1].computeSplitEdges(t);this.insertUniqueEdges(t);this.computeLabelsFromDepths();this.replaceCollapsedEdges();rs.checkValid(this.edgeList.getEdges());this.graph.addEdges(this.edgeList.getEdges());this.computeLabelling();this.labelIncompleteNodes();this.findResultAreaEdges(n);this.cancelDuplicateResultEdges();i=new ev(this.geomFact);i.add(this.graph);this.resultPolyList=i.getPolygons();r=new rw(this,this.geomFact,this.ptLocator);this.resultLineList=r.build(n);f=new uw(this,this.geomFact,this.ptLocator);this.resultPointList=f.build(n);this.resultGeom=this.computeGeometry(this.resultPointList,this.resultLineList,this.resultPolyList,n)},labelIncompleteNode:function(n,t){var i=this.ptLocator.locate(n.getCoordinate(),this.arg[t].getGeometry());n.getLabel().setLocation(t,i)},copyPoints:function(n){for(var i,t=this.arg[n].getNodeIterator();t.hasNext();)i=t.next(),this.graph.addNode(i.getCoordinate()).setLabel(n,i.getLabel().getLocation(n))},findResultAreaEdges:function(n){for(var t,i,r=this.graph.getEdgeEnds().iterator();r.hasNext();)t=r.next(),i=t.getLabel(),i.isArea()&&!t.isInteriorAreaEdge()&&v.isResultOfOp(i.getLocation(0,o.RIGHT),i.getLocation(1,o.RIGHT),n)&&t.setInResult(!0)},computeLabelsFromDepths:function(){for(var n,r=this.edgeList.iterator();r.hasNext();){var u=r.next(),i=u.getLabel(),t=u.getDepth();if(!t.isNull())for(t.normalize(),n=0;n<2;n++)i.isNull(n)||!i.isArea()||t.isNull(n)||(0===t.getDelta(n)?i.toLine(n):(c.isTrue(!t.isNull(n,o.LEFT),"depth of LEFT side has not been initialized"),i.setLocation(n,o.LEFT,t.getLocation(n,o.LEFT)),c.isTrue(!t.isNull(n,o.RIGHT),"depth of RIGHT side has not been initialized"),i.setLocation(n,o.RIGHT,t.getLocation(n,o.RIGHT))))}},computeLabelling:function(){for(var n=this.graph.getNodes().iterator();n.hasNext();)n.next().getEdges().computeLabelling(this.arg);this.mergeSymLabels();this.updateNodeLabelling()},labelIncompleteNodes:function(){for(var n,i,r=0,t=this.graph.getNodes().iterator();t.hasNext();)n=t.next(),i=n.getLabel(),n.isIsolated()&&(r++,i.isNull(0)?this.labelIncompleteNode(n,0):this.labelIncompleteNode(n,1)),n.getEdges().updateLabelling(i)},isCoveredByA:function(n){return!!this.isCovered(n,this.resultPolyList)},interfaces_:function(){return[]},getClass:function(){return v}});v.overlayOp=function(n,t,i){return new v(n,t).getResultGeometry(i)};v.intersection=function(n,t){if(n.isEmpty()||t.isEmpty())return v.createEmptyResult(v.INTERSECTION,n,t,n.getFactory());if(n.isGeometryCollection()){var i=t;return ih.map(n,{interfaces_:function(){return[MapOp]},map:function(n){return n.intersection(i)}})}return n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(t),hi.overlayOp(n,t,v.INTERSECTION)};v.symDifference=function(n,t){if(n.isEmpty()||t.isEmpty()){if(n.isEmpty()&&t.isEmpty())return v.createEmptyResult(v.SYMDIFFERENCE,n,t,n.getFactory());if(n.isEmpty())return t.copy();if(t.isEmpty())return n.copy()}return n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(t),hi.overlayOp(n,t,v.SYMDIFFERENCE)};v.resultDimension=function(n,t,i){var u=t.getDimension(),f=i.getDimension(),r=-1;switch(n){case v.INTERSECTION:r=Math.min(u,f);break;case v.UNION:r=Math.max(u,f);break;case v.DIFFERENCE:r=u;break;case v.SYMDIFFERENCE:r=Math.max(u,f)}return r};v.createEmptyResult=function(n,t,i,r){var u=null;switch(v.resultDimension(n,t,i)){case-1:u=r.createGeometryCollection(new Array(0).fill(null));break;case 0:u=r.createPoint();break;case 1:u=r.createLineString();break;case 2:u=r.createPolygon()}return u};v.difference=function(n,t){return n.isEmpty()?v.createEmptyResult(v.DIFFERENCE,n,t,n.getFactory()):t.isEmpty()?n.copy():(n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(t),hi.overlayOp(n,t,v.DIFFERENCE))};v.isResultOfOp=function(){if(2===arguments.length){var r=arguments[0],u=arguments[1],f=r.getLocation(0),e=r.getLocation(1);return v.isResultOfOp(f,e,u)}if(3===arguments.length){var n=arguments[0],t=arguments[1],o=arguments[2];switch(n===i.BOUNDARY&&(n=i.INTERIOR),t===i.BOUNDARY&&(t=i.INTERIOR),o){case v.INTERSECTION:return n===i.INTERIOR&&t===i.INTERIOR;case v.UNION:return n===i.INTERIOR||t===i.INTERIOR;case v.DIFFERENCE:return n===i.INTERIOR&&t!==i.INTERIOR;case v.SYMDIFFERENCE:return n===i.INTERIOR&&t!==i.INTERIOR||n!==i.INTERIOR&&t===i.INTERIOR}return!1}};v.INTERSECTION=1;v.UNION=2;v.DIFFERENCE=3;v.SYMDIFFERENCE=4;t(cu.prototype,{selfSnap:function(n){return new ir(n).snapTo(n,this.snapTolerance)},removeCommonBits:function(n){this.cbr=new oc;this.cbr.add(n[0]);this.cbr.add(n[1]);var t=new Array(2).fill(null);return t[0]=this.cbr.removeCommonBits(n[0].copy()),t[1]=this.cbr.removeCommonBits(n[1].copy()),t},prepareResult:function(n){return this.cbr.addCommonBits(n),n},getResultGeometry:function(n){var t=this.snap(this.geom),i=v.overlayOp(t[0],t[1],n);return this.prepareResult(i)},checkValid:function(n){n.isValid()||pt.out.println("Snapped geometry is invalid")},computeSnapTolerance:function(){this.snapTolerance=ir.computeOverlaySnapTolerance(this.geom[0],this.geom[1])},snap:function(n){var t=this.removeCommonBits(n);return ir.snap(t[0],t[1],this.snapTolerance)},interfaces_:function(){return[]},getClass:function(){return cu}});cu.overlayOp=function(n,t,i){return new cu(n,t).getResultGeometry(i)};cu.union=function(n,t){return cu.overlayOp(n,t,v.UNION)};cu.intersection=function(n,t){return cu.overlayOp(n,t,v.INTERSECTION)};cu.symDifference=function(n,t){return cu.overlayOp(n,t,v.SYMDIFFERENCE)};cu.difference=function(n,t){return cu.overlayOp(n,t,v.DIFFERENCE)};t(hi.prototype,{getResultGeometry:function(n){var t=null,i=!1,r=null;try{t=v.overlayOp(this.geom[0],this.geom[1],n);i=!0}catch(n){if(!(n instanceof li))throw n;r=n}if(!i)try{t=cu.overlayOp(this.geom[0],this.geom[1],n)}catch(n){throw n instanceof li?r:n;}return t},interfaces_:function(){return[]},getClass:function(){return hi}});hi.overlayOp=function(n,t,i){return new hi(n,t).getResultGeometry(i)};hi.union=function(n,t){return hi.overlayOp(n,t,v.UNION)};hi.intersection=function(n,t){return hi.overlayOp(n,t,v.INTERSECTION)};hi.symDifference=function(n,t){return hi.overlayOp(n,t,v.SYMDIFFERENCE)};hi.difference=function(n,t){return hi.overlayOp(n,t,v.DIFFERENCE)};t(du.prototype,{addPolygon:function(n){var f,u;if(n.isEmpty())return null;var i=null,t=0,r=this.horizontalBisector(n);0===r.getLength()?(t=0,i=r.getCoordinate()):(f=hi.overlayOp(r,n,v.INTERSECTION),u=this.widestGeometry(f),t=u.getEnvelopeInternal().getWidth(),i=du.centre(u.getEnvelopeInternal()));(null===this.interiorPoint||t>this.maxWidth)&&(this.interiorPoint=i,this.maxWidth=t)},getInteriorPoint:function(){return this.interiorPoint},widestGeometry:function(){var n,i,t,r;if(arguments[0]instanceof nt){if(n=arguments[0],n.isEmpty())return n;for(i=n.getGeometryN(0),t=1;t<n.getNumGeometries();t++)n.getGeometryN(t).getEnvelopeInternal().getWidth()>i.getEnvelopeInternal().getWidth()&&(i=n.getGeometryN(t));return i}if(arguments[0]instanceof h)return r=arguments[0],r instanceof nt?this.widestGeometry(r):r},horizontalBisector:function(n){var t=n.getEnvelopeInternal(),i=eh.getBisectorY(n);return this.factory.createLineString([new r(t.getMinX(),i),new r(t.getMaxX(),i)])},add:function(n){if(n instanceof ht)this.addPolygon(n);else if(n instanceof nt)for(var i=n,t=0;t<i.getNumGeometries();t++)this.add(i.getGeometryN(t))},interfaces_:function(){return[]},getClass:function(){return du}});du.centre=function(n){return new r(du.avg(n.getMinX(),n.getMaxX()),du.avg(n.getMinY(),n.getMaxY()))};du.avg=function(n,t){return(n+t)/2};t(eh.prototype,{updateInterval:function(n){n<=this.centreY?n>this.loY&&(this.loY=n):n>this.centreY&&n<this.hiY&&(this.hiY=n)},getBisectorY:function(){this.process(this.poly.getExteriorRing());for(var n=0;n<this.poly.getNumInteriorRing();n++)this.process(this.poly.getInteriorRingN(n));return du.avg(this.hiY,this.loY)},process:function(n){for(var r,i=n.getCoordinateSequence(),t=0;t<i.size();t++)r=i.getY(t),this.updateInterval(r)},interfaces_:function(){return[]},getClass:function(){return eh}});eh.getBisectorY=function(n){return new eh(n).getBisectorY()};du.SafeBisectorFinder=eh;t(bv.prototype,{addEndpoints:function(){var n,r,t,i;if(arguments[0]instanceof h){if(n=arguments[0],n instanceof d)this.addEndpoints(n.getCoordinates());else if(n instanceof nt)for(r=n,t=0;t<r.getNumGeometries();t++)this.addEndpoints(r.getGeometryN(t))}else arguments[0]instanceof Array&&(i=arguments[0],this.add(i[0]),this.add(i[i.length-1]))},getInteriorPoint:function(){return this.interiorPoint},addInterior:function(){var t,i,r,n;if(arguments[0]instanceof h){if(t=arguments[0],t instanceof d)this.addInterior(t.getCoordinates());else if(t instanceof nt)for(i=t,n=0;n<i.getNumGeometries();n++)this.addInterior(i.getGeometryN(n))}else if(arguments[0]instanceof Array)for(r=arguments[0],n=1;n<r.length-1;n++)this.add(r[n])},add:function(n){var t=n.distance(this.centroid);t<this.minDistance&&(this.interiorPoint=new r(n),this.minDistance=t)},interfaces_:function(){return[]},getClass:function(){return bv}});t(kv.prototype,{getInteriorPoint:function(){return this.interiorPoint},add:function(){var n,i,t,u,f;if(arguments[0]instanceof h){if(n=arguments[0],n instanceof bt)this.add(n.getCoordinate());else if(n instanceof nt)for(i=n,t=0;t<i.getNumGeometries();t++)this.add(i.getGeometryN(t))}else arguments[0]instanceof r&&(u=arguments[0],f=u.distance(this.centroid),f<this.minDistance&&(this.interiorPoint=new r(u),this.minDistance=f))},interfaces_:function(){return[]},getClass:function(){return kv}});t(eo.prototype,{select:function(){if(1===arguments.length)arguments[0];else if(2===arguments.length){var n=arguments[0],t=arguments[1];n.getLineSegment(t,this.selectedSegment);this.select(this.selectedSegment)}},interfaces_:function(){return[]},getClass:function(){return eo}});t(sf.prototype,{hasChildren:function(){for(var n=0;n<2;n++)if(null!==this.subnode[n])return!0;return!1},isPrunable:function(){return!(this.hasChildren()||this.hasItems())},addAllItems:function(n){n.addAll(this.items);for(var t=0;t<2;t++)null!==this.subnode[t]&&this.subnode[t].addAllItems(n);return n},size:function(){for(var t=0,n=0;n<2;n++)null!==this.subnode[n]&&(t+=this.subnode[n].size());return t+this.items.size()},addAllItemsFromOverlapping:function(n,t){if(null!==n&&!this.isSearchMatch(n))return null;t.addAll(this.items);null!==this.subnode[0]&&this.subnode[0].addAllItemsFromOverlapping(n,t);null!==this.subnode[1]&&this.subnode[1].addAllItemsFromOverlapping(n,t)},hasItems:function(){return!this.items.isEmpty()},remove:function(n,t){if(!this.isSearchMatch(n))return!1;for(var r=!1,i=0;i<2;i++)if(null!==this.subnode[i]&&(r=this.subnode[i].remove(n,t))){this.subnode[i].isPrunable()&&(this.subnode[i]=null);break}return r||(r=this.items.remove(t))},getItems:function(){return this.items},depth:function(){for(var i,t=0,n=0;n<2;n++)null!==this.subnode[n]&&(i=this.subnode[n].depth(),i>t&&(t=i));return t+1},nodeSize:function(){for(var t=0,n=0;n<2;n++)null!==this.subnode[n]&&(t+=this.subnode[n].nodeSize());return t+1},add:function(n){this.items.add(n)},interfaces_:function(){return[]},getClass:function(){return sf}});sf.getSubnodeIndex=function(n,t){var i=-1;return n.min>=t&&(i=1),n.max<=t&&(i=0),i};t(ee.prototype,{expandToInclude:function(n){n.max>this.max&&(this.max=n.max);n.min<this.min&&(this.min=n.min)},getWidth:function(){return this.max-this.min},overlaps:function(){var n,t,i;return 1===arguments.length?(n=arguments[0],this.overlaps(n.min,n.max)):2===arguments.length?(t=arguments[0],i=arguments[1],!(this.min>i||this.max<t)):void 0},getMin:function(){return this.min},toString:function(){return"["+this.min+", "+this.max+"]"},contains:function(){var n,t,i,r;if(1===arguments.length){if(arguments[0]instanceof ee)return n=arguments[0],this.contains(n.min,n.max);if("number"==typeof arguments[0])return t=arguments[0],t>=this.min&&t<=this.max}else if(2===arguments.length)return i=arguments[0],r=arguments[1],i>=this.min&&r<=this.max},init:function(n,t){this.min=n;this.max=t;n>t&&(this.min=t,this.max=n)},getMax:function(){return this.max},interfaces_:function(){return[]},getClass:function(){return ee}});ss.exponent=function(n){return pd(64,n)-1023};ss.powerOf2=function(n){return Math.pow(2,n)};t(dc.prototype,{getInterval:function(){return this.interval},getLevel:function(){return this.level},computeKey:function(n){for(this.level=dc.computeLevel(n),this.interval=new ee,this.computeInterval(this.level,n);!this.interval.contains(n);)this.level+=1,this.computeInterval(this.level,n)},computeInterval:function(n,t){var i=ss.powerOf2(n);this.pt=Math.floor(t.getMin()/i)*i;this.interval.init(this.pt,this.pt+i)},getPoint:function(){return this.pt},interfaces_:function(){return[]},getClass:function(){return dc}});dc.computeLevel=function(n){var t=n.getWidth();return ss.exponent(t)+1};y(ve,sf);t(ve.prototype,{getInterval:function(){return this.interval},find:function(n){var t=sf.getSubnodeIndex(n,this.centre);return-1===t?this:null!==this.subnode[t]?this.subnode[t].find(n):this},insert:function(n){var t,i;c.isTrue(null===this.interval||this.interval.contains(n.interval));t=sf.getSubnodeIndex(n.interval,this.centre);n.level===this.level-1?this.subnode[t]=n:(i=this.createSubnode(t),i.insert(n),this.subnode[t]=i)},isSearchMatch:function(n){return n.overlaps(this.interval)},getSubnode:function(n){return null===this.subnode[n]&&(this.subnode[n]=this.createSubnode(n)),this.subnode[n]},getNode:function(n){var t=sf.getSubnodeIndex(n,this.centre);return-1!==t?this.getSubnode(t).getNode(n):this},createSubnode:function(n){var t=0,i=0;switch(n){case 0:t=this.interval.getMin();i=this.centre;break;case 1:t=this.centre;i=this.interval.getMax()}return new ve(new ee(t,i),this.level-1)},interfaces_:function(){return[]},getClass:function(){return ve}});ve.createNode=function(n){var t=new dc(n);return new ve(t.getInterval(),t.getLevel())};ve.createExpanded=function(n,t){var r=new ee(t),i;return null!==n&&r.expandToInclude(n.interval),i=ve.createNode(r),null!==n&&i.insert(n),i};t(oo.prototype,{interfaces_:function(){return[]},getClass:function(){return oo}});oo.isZeroWidth=function(n,t){var i=t-n,r,u;return 0===i?!0:(r=Math.max(Math.abs(n),Math.abs(t)),u=i/r,ss.exponent(u)<=oo.MIN_BINARY_EXPONENT)};oo.MIN_BINARY_EXPONENT=-50;y(oh,sf);t(oh.prototype,{insert:function(n,t){var i=sf.getSubnodeIndex(n,oh.origin),r,u;if(-1===i)return this.add(t),null;r=this.subnode[i];null!==r&&r.getInterval().contains(n)||(u=ve.createExpanded(r,n),this.subnode[i]=u);this.insertContained(this.subnode[i],n,t)},isSearchMatch:function(){return!0},insertContained:function(n,t,i){c.isTrue(n.getInterval().contains(t));var u=oo.isZeroWidth(t.getMin(),t.getMax()),r=null;r=u?n.find(t):n.getNode(t);r.add(i)},interfaces_:function(){return[]},getClass:function(){return oh}});oh.origin=0;t(sh.prototype,{size:function(){return null!==this.root?this.root.size():0},insert:function(n,t){this.collectStats(n);var i=sh.ensureExtent(n,this.minExtent);this.root.insert(i,t)},query:function(){var n,i,t,r,f;if(1===arguments.length){if("number"==typeof arguments[0])return n=arguments[0],this.query(new ee(n,n));if(arguments[0]instanceof ee)return i=arguments[0],t=new u,this.query(i,t),t}else 2===arguments.length&&(r=arguments[0],f=arguments[1],this.root.addAllItemsFromOverlapping(r,f))},iterator:function(){var n=new u;return this.root.addAllItems(n),n.iterator()},remove:function(n,t){var i=sh.ensureExtent(n,this.minExtent);return this.root.remove(i,t)},collectStats:function(n){var t=n.getWidth();t<this.minExtent&&t>0&&(this.minExtent=t)},depth:function(){return null!==this.root?this.root.depth():0},nodeSize:function(){return null!==this.root?this.root.nodeSize():0},interfaces_:function(){return[]},getClass:function(){return sh}});sh.ensureExtent=function(n,t){var i=n.getMin(),r=n.getMax();return i!==r?n:(i===r&&(i-=t/2,r=i+t/2),new ee(i,r))};t(lw.prototype,{isInside:function(){},interfaces_:function(){return[]},getClass:function(){return lw}});t(gc.prototype,{testLineSegment:function(n,t){var u=null,i=null,f=null,r=null,e=t.p0,o=t.p1;u=e.x-n.x;i=e.y-n.y;f=o.x-n.x;r=o.y-n.y;(i>0&&r<=0||r>0&&i<=0)&&0<go.signOfDet2x2(u,i,f,r)/(r-i)&&this.crossings++},buildIndex:function(){var t,i;this.tree=new sh;for(var u=w.removeRepeatedPoints(this.ring.getCoordinates()),r=bu.getChains(u),n=0;n<r.size();n++)t=r.get(n),i=t.getEnvelope(),this.interval.min=i.getMinY(),this.interval.max=i.getMaxY(),this.tree.insert(this.interval,t)},testMonotoneChain:function(n,t,i){i.select(n,t)},isInside:function(n){var t,r;this.crossings=0;t=new p(a.NEGATIVE_INFINITY,a.POSITIVE_INFINITY,n.y,n.y);this.interval.min=n.y;this.interval.max=n.y;for(var u=this.tree.query(this.interval),f=new nl(this,n),i=u.iterator();i.hasNext();)r=i.next(),this.testMonotoneChain(t,f,r);return this.crossings%2==1},interfaces_:function(){return[lw]},getClass:function(){return gc}});y(nl,eo);t(nl.prototype,{select:function(){if(1!==arguments.length)return eo.prototype.select.apply(this,arguments);var n=arguments[0];this.mcp.testLineSegment(this.p,n)},interfaces_:function(){return[]},getClass:function(){return nl}});gc.MCSelecter=nl;t(k.prototype,{interfaces_:function(){return[]},getClass:function(){return k}});k.toDegrees=function(n){return 180*n/Math.PI};k.normalize=function(n){for(;n>Math.PI;)n-=k.PI_TIMES_2;for(;n<=-Math.PI;)n+=k.PI_TIMES_2;return n};k.angle=function(){var n;if(1===arguments.length)return n=arguments[0],Math.atan2(n.y,n.x);if(2===arguments.length){var t=arguments[0],i=arguments[1],r=i.x-t.x,u=i.y-t.y;return Math.atan2(u,r)}};k.isAcute=function(n,t,i){var r=n.x-t.x,u=n.y-t.y;return r*(i.x-t.x)+u*(i.y-t.y)>0};k.isObtuse=function(n,t,i){var r=n.x-t.x,u=n.y-t.y;return r*(i.x-t.x)+u*(i.y-t.y)<0};k.interiorAngle=function(n,t,i){var r=k.angle(t,n),u=k.angle(t,i);return Math.abs(u-r)};k.normalizePositive=function(n){if(n<0){for(;n<0;)n+=k.PI_TIMES_2;n>=k.PI_TIMES_2&&(n=0)}else{for(;n>=k.PI_TIMES_2;)n-=k.PI_TIMES_2;n<0&&(n=0)}return n};k.angleBetween=function(n,t,i){var r=k.angle(t,n),u=k.angle(t,i);return k.diff(r,u)};k.diff=function(n,t){var i=null;return i=n<t?t-n:n-t,i>Math.PI&&(i=2*Math.PI-i),i};k.toRadians=function(n){return n*Math.PI/180};k.getTurn=function(n,t){var i=Math.sin(t-n);return i>0?k.COUNTERCLOCKWISE:i<0?k.CLOCKWISE:k.NONE};k.angleBetweenOriented=function(n,t,i){var u=k.angle(t,n),f=k.angle(t,i),r=f-u;return r<=-Math.PI?r+k.PI_TIMES_2:r>Math.PI?r-k.PI_TIMES_2:r};k.PI_TIMES_2=2*Math.PI;k.PI_OVER_2=Math.PI/2;k.PI_OVER_4=Math.PI/4;k.COUNTERCLOCKWISE=s.COUNTERCLOCKWISE;k.CLOCKWISE=s.CLOCKWISE;k.NONE=s.COLLINEAR;t(vt.prototype,{area:function(){return vt.area(this.p0,this.p1,this.p2)},signedArea:function(){return vt.signedArea(this.p0,this.p1,this.p2)},interpolateZ:function(n){if(null===n)throw new ft("Supplied point is null.");return vt.interpolateZ(n,this.p0,this.p1,this.p2)},longestSideLength:function(){return vt.longestSideLength(this.p0,this.p1,this.p2)},isAcute:function(){return vt.isAcute(this.p0,this.p1,this.p2)},circumcentre:function(){return vt.circumcentre(this.p0,this.p1,this.p2)},area3D:function(){return vt.area3D(this.p0,this.p1,this.p2)},centroid:function(){return vt.centroid(this.p0,this.p1,this.p2)},inCentre:function(){return vt.inCentre(this.p0,this.p1,this.p2)},interfaces_:function(){return[]},getClass:function(){return vt}});vt.area=function(n,t,i){return Math.abs(((i.x-n.x)*(t.y-n.y)-(t.x-n.x)*(i.y-n.y))/2)};vt.signedArea=function(n,t,i){return((i.x-n.x)*(t.y-n.y)-(t.x-n.x)*(i.y-n.y))/2};vt.det=function(n,t,i,r){return n*r-t*i};vt.interpolateZ=function(n,t,i,r){var u=t.x,f=t.y,e=i.x-u,o=r.x-u,s=i.y-f,h=r.y-f,c=e*h-o*s,l=n.x-u,a=n.y-f,v=(h*l-o*a)/c,y=(-s*l+e*a)/c;return t.z+v*(i.z-t.z)+y*(r.z-t.z)};vt.longestSideLength=function(n,t,i){var e=n.distance(t),u=t.distance(i),f=i.distance(n),r=e;return u>r&&(r=u),f>r&&(r=f),r};vt.isAcute=function(n,t,i){return!!k.isAcute(n,t,i)&&!!k.isAcute(t,i,n)&&!!k.isAcute(i,n,t)};vt.circumcentre=function(n,t,i){var s=i.x,h=i.y,u=n.x-s,f=n.y-h,e=t.x-s,o=t.y-h,c=2*vt.det(u,f,e,o);return new r(s-vt.det(f,u*u+f*f,o,e*e+o*o)/c,h+vt.det(u,u*u+f*f,e,e*e+o*o)/c)};vt.perpendicularBisector=function(n,t){var i=t.x-n.x,r=t.y-n.y;return new lr(new lr(n.x+i/2,n.y+r/2,1),new lr(n.x-r+i/2,n.y+i+r/2,1))};vt.angleBisector=function(n,t,i){var u=t.distance(n),e=t.distance(i),f=u/(u+e),o=i.x-n.x,s=i.y-n.y;return new r(n.x+f*o,n.y+f*s)};vt.area3D=function(n,t,i){var r=t.x-n.x,u=t.y-n.y,f=t.z-n.z,e=i.x-n.x,o=i.y-n.y,s=i.z-n.z,h=u*s-f*o,c=f*e-r*s,l=r*o-u*e,a=h*h+c*c+l*l;return Math.sqrt(a)/2};vt.centroid=function(n,t,i){return new r((n.x+t.x+i.x)/3,(n.y+t.y+i.y)/3)};vt.inCentre=function(n,t,i){var u=t.distance(i),f=n.distance(i),e=n.distance(t),o=u+f+e;return new r((u*n.x+f*t.x+e*i.x)/o,(u*n.y+f*t.y+e*i.y)/o)};t(ye.prototype,{getRadius:function(){return this.compute(),this.radius},getDiameter:function(){switch(this.compute(),this.extremalPts.length){case 0:return this.input.getFactory().createLineString();case 1:return this.input.getFactory().createPoint(this.centre)}var n=this.extremalPts[0],t=this.extremalPts[1];return this.input.getFactory().createLineString([n,t])},getExtremalPoints:function(){return this.compute(),this.extremalPts},computeCirclePoints:function(){var n,f;if(this.input.isEmpty())return this.extremalPts=new Array(0).fill(null),null;if(1===this.input.getNumPoints())return n=this.input.getCoordinates(),this.extremalPts=[new r(n[0])],null;var o=this.input.convexHull(),i=o.getCoordinates(),n=i;if(i[0].equals2D(i[i.length-1])&&(n=new Array(i.length-1).fill(null),w.copyDeep(i,0,n,0,i.length-1)),n.length<=2)return this.extremalPts=w.copyDeep(n),null;for(var t=ye.lowestPoint(n),u=ye.pointWitMinAngleWithX(n,t),e=0;e<n.length;e++){if(f=ye.pointWithMinAngleWithSegment(n,t,u),k.isObtuse(t,f,u))return this.extremalPts=[new r(t),new r(u)],null;if(k.isObtuse(f,t,u))t=f;else{if(!k.isObtuse(f,u,t))return this.extremalPts=[new r(t),new r(u),new r(f)],null;u=f}}c.shouldNeverReachHere("Logic failure in Minimum Bounding Circle algorithm!")},compute:function(){if(null!==this.extremalPts)return null;this.computeCirclePoints();this.computeCentre();null!==this.centre&&(this.radius=this.centre.distance(this.extremalPts[0]))},getFarthestPoints:function(){switch(this.compute(),this.extremalPts.length){case 0:return this.input.getFactory().createLineString();case 1:return this.input.getFactory().createPoint(this.centre)}var n=this.extremalPts[0],t=this.extremalPts[this.extremalPts.length-1];return this.input.getFactory().createLineString([n,t])},getCircle:function(){if(this.compute(),null===this.centre)return this.input.getFactory().createPolygon();var n=this.input.getFactory().createPoint(this.centre);return 0===this.radius?n:n.buffer(this.radius)},getCentre:function(){return this.compute(),this.centre},computeCentre:function(){switch(this.extremalPts.length){case 0:this.centre=null;break;case 1:this.centre=this.extremalPts[0];break;case 2:this.centre=new r((this.extremalPts[0].x+this.extremalPts[1].x)/2,(this.extremalPts[0].y+this.extremalPts[1].y)/2);break;case 3:this.centre=vt.circumcentre(this.extremalPts[0],this.extremalPts[1],this.extremalPts[2])}},interfaces_:function(){return[]},getClass:function(){return ye}});ye.pointWitMinAngleWithX=function(n,t){for(var r,f,i,h,e,o=a.MAX_VALUE,s=null,u=0;u<n.length;u++)r=n[u],r!==t&&(f=r.x-t.x,i=r.y-t.y,i<0&&(i=-i),h=Math.sqrt(f*f+i*i),e=i/h,e<o&&(o=e,s=r));return s};ye.lowestPoint=function(n){for(var i=n[0],t=1;t<n.length;t++)n[t].y<i.y&&(i=n[t]);return i};ye.pointWithMinAngleWithSegment=function(n,t,i){for(var r,f,e=a.MAX_VALUE,o=null,u=0;u<n.length;u++)r=n[u],r!==t&&r!==i&&(f=k.angleBetween(t,r,i),f<e&&(e=f,o=r));return o};t(ki.prototype,{getWidthCoordinate:function(){return this.computeMinimumDiameter(),this.minWidthPt},getSupportingSegment:function(){return this.computeMinimumDiameter(),this.inputGeom.getFactory().createLineString([this.minBaseSeg.p0,this.minBaseSeg.p1])},getDiameter:function(){if(this.computeMinimumDiameter(),null===this.minWidthPt)return this.inputGeom.getFactory().createLineString(null);var n=this.minBaseSeg.project(this.minWidthPt);return this.inputGeom.getFactory().createLineString([n,this.minWidthPt])},computeWidthConvex:function(n){this.convexHullPts=n instanceof ht?n.getExteriorRing().getCoordinates():n.getCoordinates();0===this.convexHullPts.length?(this.minWidth=0,this.minWidthPt=null,this.minBaseSeg=null):1===this.convexHullPts.length?(this.minWidth=0,this.minWidthPt=this.convexHullPts[0],this.minBaseSeg.p0=this.convexHullPts[0],this.minBaseSeg.p1=this.convexHullPts[0]):2===this.convexHullPts.length||3===this.convexHullPts.length?(this.minWidth=0,this.minWidthPt=this.convexHullPts[0],this.minBaseSeg.p0=this.convexHullPts[0],this.minBaseSeg.p1=this.convexHullPts[1]):this.computeConvexRingMinDiameter(this.convexHullPts)},computeConvexRingMinDiameter:function(n){this.minWidth=a.MAX_VALUE;for(var r=1,i=new b,t=0;t<n.length-1;t++)i.p0=n[t],i.p1=n[t+1],r=this.findMaxPerpDistance(n,i,r)},computeMinimumDiameter:function(){if(null!==this.minWidthPt)return null;if(this.isConvex)this.computeWidthConvex(this.inputGeom);else{var n=new ie(this.inputGeom).getConvexHull();this.computeWidthConvex(n)}},getLength:function(){return this.computeMinimumDiameter(),this.minWidth},findMaxPerpDistance:function(n,t,i){for(var r=t.distancePerpendicular(n[i]),f=r,u=i,e=u;f>=r;)r=f,u=e,e=ki.nextIndex(n,u),f=t.distancePerpendicular(n[e]);return r<this.minWidth&&(this.minPtIndex=u,this.minWidth=r,this.minWidthPt=n[this.minPtIndex],this.minBaseSeg=new b(t)),u},getMinimumRectangle:function(){var i,r;if(this.computeMinimumDiameter(),0===this.minWidth)return this.minBaseSeg.p0.equals2D(this.minBaseSeg.p1)?this.inputGeom.getFactory().createPoint(this.minBaseSeg.p0):this.minBaseSeg.toGeometry(this.inputGeom.getFactory());for(var n=this.minBaseSeg.p1.x-this.minBaseSeg.p0.x,t=this.minBaseSeg.p1.y-this.minBaseSeg.p0.y,f=a.MAX_VALUE,e=-a.MAX_VALUE,o=a.MAX_VALUE,s=-a.MAX_VALUE,u=0;u<this.convexHullPts.length;u++)i=ki.computeC(n,t,this.convexHullPts[u]),i>e&&(e=i),i<f&&(f=i),r=ki.computeC(-t,n,this.convexHullPts[u]),r>s&&(s=r),r<o&&(o=r);var h=ki.computeSegmentForLine(-n,-t,s),c=ki.computeSegmentForLine(-n,-t,o),l=ki.computeSegmentForLine(-t,n,e),v=ki.computeSegmentForLine(-t,n,f),y=l.lineIntersection(h),p=v.lineIntersection(h),w=v.lineIntersection(c),b=l.lineIntersection(c),k=this.inputGeom.getFactory().createLinearRing([y,p,w,b,y]);return this.inputGeom.getFactory().createPolygon(k,null)},interfaces_:function(){return[]},getClass:function(){return ki}});ki.nextIndex=function(n,t){return t++,t>=n.length&&(t=0),t};ki.computeC=function(n,t,i){return n*i.y-t*i.x};ki.getMinimumDiameter=function(n){return new ki(n).getDiameter()};ki.getMinimumRectangle=function(n){return new ki(n).getMinimumRectangle()};ki.computeSegmentForLine=function(n,t,i){var u=null,f=null;return Math.abs(t)>Math.abs(n)?(u=new r(0,i/t),f=new r(1,i/t-n/t)):(u=new r(i/n,0),f=new r(i/n-t/n,1)),new b(u,f)};gb=Object.freeze({Centroid:te,CGAlgorithms:s,ConvexHull:ie,InteriorPointArea:du,InteriorPointLine:bv,InteriorPointPoint:kv,RobustLineIntersector:si,MCPointInRing:gc,MinimumBoundingCircle:ye,MinimumDiameter:ki});t(so.prototype,{getResultGeometry:function(){return new tl(this.distanceTolerance).transform(this.inputGeom)},setDistanceTolerance:function(n){if(n<=0)throw new ft("Tolerance must be positive");this.distanceTolerance=n},interfaces_:function(){return[]},getClass:function(){return so}});so.densifyPoints=function(n,t,i){for(var e,o,c,s,l,h,r=new b,u=new gt,f=0;f<n.length-1;f++)if(r.p0=n[f],r.p1=n[f+1],u.add(r.p0,!1),e=r.getLength(),o=Math.trunc(e/t)+1,o>1)for(c=e/o,s=1;s<o;s++)l=s*c/e,h=r.pointAlong(l),i.makePrecise(h),u.add(h,!1);return u.add(n[n.length-1],!1),u.toCoordinateArray()};so.densify=function(n,t){var i=new so(n);return i.setDistanceTolerance(t),i.getResultGeometry()};y(tl,or);t(tl.prototype,{transformMultiPolygon:function(n,t){var i=or.prototype.transformMultiPolygon.call(this,n,t);return this.createValidArea(i)},transformPolygon:function(n,t){var i=or.prototype.transformPolygon.call(this,n,t);return t instanceof vi?i:this.createValidArea(i)},transformCoordinates:function(n,t){var r=n.toCoordinateArray(),i=so.densifyPoints(r,this.distanceTolerance,t.getPrecisionModel());return t instanceof d&&1===i.length&&(i=new Array(0).fill(null)),this.factory.getCoordinateSequenceFactory().create(i)},createValidArea:function(n){return n.buffer(0)},interfaces_:function(){return[]},getClass:function(){return tl}});so.DensifyTransformer=tl;nk=Object.freeze({Densifier:so});t(oe.prototype,{find:function(n){var t=this;do{if(null===t)return null;if(t.dest().equals2D(n))return t;t=t.oNext()}while(t!==this);return null},dest:function(){return this._sym._orig},oNext:function(){return this._sym._next},insert:function(n){var r,t,i;if(this.oNext()===this)return this.insertAfter(n),null;r=this.compareTo(n);t=this;do{if(i=t.oNext(),i.compareTo(n)!==r||i===this)return t.insertAfter(n),null;t=i}while(t!==this);c.shouldNeverReachHere()},insertAfter:function(n){c.equals(this._orig,n.orig());var t=this.oNext();this._sym.setNext(n);n.sym().setNext(t)},degree:function(){var t=0,n=this;do t++,n=n.oNext();while(n!==this);return t},equals:function(){if(2===arguments.length){var n=arguments[0],t=arguments[1];return this._orig.equals2D(n)&&this._sym._orig.equals(t)}},deltaY:function(){return this._sym._orig.y-this._orig.y},sym:function(){return this._sym},prev:function(){return this._sym.next()._sym},compareAngularDirection:function(n){var r=this.deltaX(),u=this.deltaY(),f=n.deltaX(),e=n.deltaY(),t,i;return r===f&&u===e?0:(t=it.quadrant(r,u),i=it.quadrant(f,e),t>i?1:t<i?-1:s.computeOrientation(n._orig,n.dest(),this.dest()))},prevNode:function(){for(var n=this;2===n.degree();)if((n=n.prev())===this)return null;return n},compareTo:function(n){var t=n;return this.compareAngularDirection(t)},next:function(){return this._next},setSym:function(n){this._sym=n},orig:function(){return this._orig},toString:function(){return"HE("+this._orig.x+" "+this._orig.y+", "+this._sym._orig.x+" "+this._sym._orig.y+")"},setNext:function(n){this._next=n},init:function(n){this.setSym(n);n.setSym(this);this.setNext(n);n.setNext(this)},deltaX:function(){return this._sym._orig.x-this._orig.x},interfaces_:function(){return[]},getClass:function(){return oe}});oe.init=function(n,t){if(null!==n._sym||null!==t._sym||null!==n._next||null!==t._next)throw new IllegalStateException("Edges are already initialized");return n.init(t),n};oe.create=function(n,t){var i=new oe(n),r=new oe(t);return i.init(r),i};y(pr,oe);t(pr.prototype,{mark:function(){this._isMarked=!0},setMark:function(n){this._isMarked=n},isMarked:function(){return this._isMarked},interfaces_:function(){return[]},getClass:function(){return pr}});pr.setMarkBoth=function(n,t){n.setMark(t);n.sym().setMark(t)};pr.isMarked=function(n){return n.isMarked()};pr.setMark=function(n,t){n.setMark(t)};pr.markBoth=function(n){n.mark();n.sym().mark()};pr.mark=function(n){n.mark()};t(hh.prototype,{insert:function(n,t,i){var r=this.create(n,t),u;return null!==i?i.insert(r):this.vertexMap.put(n,r),u=this.vertexMap.get(t),null!==u?u.insert(r.sym()):this.vertexMap.put(t,r.sym()),r},create:function(n,t){var i=this.createEdge(n),r=this.createEdge(t);return oe.init(i,r),i},createEdge:function(n){return new oe(n)},addEdge:function(n,t){if(!hh.isValidEdge(n,t))return null;var i=this.vertexMap.get(n),r=null;return null!==i&&(r=i.find(t)),null!==r?r:this.insert(n,t,i)},getVertexEdges:function(){return this.vertexMap.values()},findEdge:function(n,t){var i=this.vertexMap.get(n);return null===i?null:i.find(t)},interfaces_:function(){return[]},getClass:function(){return hh}});hh.isValidEdge=function(n,t){return 0!==t.compareTo(n)};y(dv,pr);t(dv.prototype,{setStart:function(){this._isStart=!0},isStart:function(){return this._isStart},interfaces_:function(){return[]},getClass:function(){return dv}});y(gv,hh);t(gv.prototype,{createEdge:function(n){return new dv(n)},interfaces_:function(){return[]},getClass:function(){return gv}});t(il.prototype,{addLine:function(n){this.lines.add(this.factory.createLineString(n.toCoordinateArray()))},updateRingStartEdge:function(n){return n.isStart()||(n=n.sym(),n.isStart())?null===this.ringStartEdge?(this.ringStartEdge=n,null):void(n.orig().compareTo(this.ringStartEdge.orig())<0&&(this.ringStartEdge=n)):null},getResult:function(){return null===this.result&&this.computeResult(),this.result},process:function(n){var t=n.prevNode();null===t&&(t=n);this.stackEdges(t);this.buildLines()},buildRing:function(n){var i=new gt,t=n,r;for(i.add(t.orig().copy(),!1);2===t.sym().degree();){if(r=t.next(),r===n)break;i.add(r.orig().copy(),!1);t=r}i.add(t.dest().copy(),!1);this.addLine(i)},buildLine:function(n){var i=new gt,t=n,r;for(this.ringStartEdge=null,pr.markBoth(t),i.add(t.orig().copy(),!1);2===t.sym().degree();){if(this.updateRingStartEdge(t),r=t.next(),r===n)return this.buildRing(this.ringStartEdge),null;i.add(r.orig().copy(),!1);t=r;pr.markBoth(t)}i.add(t.dest().copy(),!1);this.stackEdges(t.sym());this.addLine(i)},stackEdges:function(n){var t=n;do pr.isMarked(t)||this.nodeEdgeStack.add(t),t=t.oNext();while(t!==n)},computeResult:function(){for(var t,i=this.graph.getVertexEdges(),n=i.iterator();n.hasNext();)t=n.next(),pr.isMarked(t)||this.process(t);this.result=this.factory.buildGeometry(this.lines)},buildLines:function(){for(;!this.nodeEdgeStack.empty();){var n=this.nodeEdgeStack.pop();pr.isMarked(n)||this.buildLine(n)}},add:function(){var u,n,f,t,r;if(arguments[0]instanceof h)arguments[0].apply({interfaces_:function(){return[wu]},filter:function(n){n instanceof d&&this.add(n)}});else if(l(arguments[0],yt))for(u=arguments[0],n=u.iterator();n.hasNext();)f=n.next(),this.add(f);else if(arguments[0]instanceof d){t=arguments[0];null===this.factory&&(this.factory=t.getFactory());for(var i=t.getCoordinateSequence(),e=!1,n=1;n<i.size();n++)r=this.graph.addEdge(i.getCoordinate(n-1),i.getCoordinate(n)),null!==r&&(e||(r.setStart(),e=!0))}},interfaces_:function(){return[]},getClass:function(){return il}});il.dissolve=function(n){var t=new il;return t.add(n),t.getResult()};tk=Object.freeze({LineDissolver:il});ik=Object.freeze({GeometryGraph:cr});t(hf.prototype,{hasChildren:function(){for(var n=0;n<4;n++)if(null!==this.subnode[n])return!0;return!1},isPrunable:function(){return!(this.hasChildren()||this.hasItems())},addAllItems:function(n){n.addAll(this.items);for(var t=0;t<4;t++)null!==this.subnode[t]&&this.subnode[t].addAllItems(n);return n},getNodeCount:function(){for(var t=0,n=0;n<4;n++)null!==this.subnode[n]&&(t+=this.subnode[n].size());return t+1},size:function(){for(var t=0,n=0;n<4;n++)null!==this.subnode[n]&&(t+=this.subnode[n].size());return t+this.items.size()},addAllItemsFromOverlapping:function(n,t){if(!this.isSearchMatch(n))return null;t.addAll(this.items);for(var i=0;i<4;i++)null!==this.subnode[i]&&this.subnode[i].addAllItemsFromOverlapping(n,t)},visitItems:function(n,t){for(var i=this.items.iterator();i.hasNext();)t.visitItem(i.next())},hasItems:function(){return!this.items.isEmpty()},remove:function(n,t){if(!this.isSearchMatch(n))return!1;for(var r=!1,i=0;i<4;i++)if(null!==this.subnode[i]&&(r=this.subnode[i].remove(n,t))){this.subnode[i].isPrunable()&&(this.subnode[i]=null);break}return r||(r=this.items.remove(t))},visit:function(n,t){if(!this.isSearchMatch(n))return null;this.visitItems(n,t);for(var i=0;i<4;i++)null!==this.subnode[i]&&this.subnode[i].visit(n,t)},getItems:function(){return this.items},depth:function(){for(var i,t=0,n=0;n<4;n++)null!==this.subnode[n]&&(i=this.subnode[n].depth(),i>t&&(t=i));return t+1},isEmpty:function(){var t=!0,n;for(this.items.isEmpty()||(t=!1),n=0;n<4;n++)null!==this.subnode[n]&&(this.subnode[n].isEmpty()||(t=!1));return t},add:function(n){this.items.add(n)},interfaces_:function(){return[fr]},getClass:function(){return hf}});hf.getSubnodeIndex=function(n,t,i){var r=-1;return n.getMinX()>=t&&(n.getMinY()>=i&&(r=3),n.getMaxY()<=i&&(r=1)),n.getMaxX()<=t&&(n.getMinY()>=i&&(r=2),n.getMaxY()<=i&&(r=0)),r};t(rl.prototype,{getLevel:function(){return this.level},computeKey:function(){var t;if(1===arguments.length)for(t=arguments[0],this.level=rl.computeQuadLevel(t),this.env=new p,this.computeKey(this.level,t);!this.env.contains(t);)this.level+=1,this.computeKey(this.level,t);else if(2===arguments.length){var r=arguments[0],i=arguments[1],n=ss.powerOf2(r);this.pt.x=Math.floor(i.getMinX()/n)*n;this.pt.y=Math.floor(i.getMinY()/n)*n;this.env.init(this.pt.x,this.pt.x+n,this.pt.y,this.pt.y+n)}},getEnvelope:function(){return this.env},getCentre:function(){return new r((this.env.getMinX()+this.env.getMaxX())/2,(this.env.getMinY()+this.env.getMaxY())/2)},getPoint:function(){return this.pt},interfaces_:function(){return[]},getClass:function(){return rl}});rl.computeQuadLevel=function(n){var t=n.getWidth(),i=n.getHeight(),r=t>i?t:i;return ss.exponent(r)+1};y(pe,hf);t(pe.prototype,{find:function(n){var t=hf.getSubnodeIndex(n,this.centrex,this.centrey);return-1===t?this:null!==this.subnode[t]?this.subnode[t].find(n):this},isSearchMatch:function(n){return this.env.intersects(n)},getSubnode:function(n){return null===this.subnode[n]&&(this.subnode[n]=this.createSubnode(n)),this.subnode[n]},getEnvelope:function(){return this.env},getNode:function(n){var t=hf.getSubnodeIndex(n,this.centrex,this.centrey);return-1!==t?this.getSubnode(t).getNode(n):this},createSubnode:function(n){var t=0,i=0,r=0,u=0;switch(n){case 0:t=this.env.getMinX();i=this.centrex;r=this.env.getMinY();u=this.centrey;break;case 1:t=this.centrex;i=this.env.getMaxX();r=this.env.getMinY();u=this.centrey;break;case 2:t=this.env.getMinX();i=this.centrex;r=this.centrey;u=this.env.getMaxY();break;case 3:t=this.centrex;i=this.env.getMaxX();r=this.centrey;u=this.env.getMaxY()}return new pe(new p(t,i,r,u),this.level-1)},insertNode:function(n){var t,i;c.isTrue(null===this.env||this.env.contains(n.env));t=hf.getSubnodeIndex(n.env,this.centrex,this.centrey);n.level===this.level-1?this.subnode[t]=n:(i=this.createSubnode(t),i.insertNode(n),this.subnode[t]=i)},interfaces_:function(){return[]},getClass:function(){return pe}});pe.createNode=function(n){var t=new rl(n);return new pe(t.getEnvelope(),t.getLevel())};pe.createExpanded=function(n,t){var r=new p(t),i;return null!==n&&r.expandToInclude(n.env),i=pe.createNode(r),null!==n&&i.insertNode(n),i};y(hs,hf);t(hs.prototype,{insert:function(n,t){var i=hf.getSubnodeIndex(n,hs.origin.x,hs.origin.y),r,u;if(-1===i)return this.add(t),null;r=this.subnode[i];null!==r&&r.getEnvelope().contains(n)||(u=pe.createExpanded(r,n),this.subnode[i]=u);this.insertContained(this.subnode[i],n,t)},isSearchMatch:function(){return!0},insertContained:function(n,t,i){c.isTrue(n.getEnvelope().contains(t));var u=oo.isZeroWidth(t.getMinX(),t.getMaxX()),f=oo.isZeroWidth(t.getMinY(),t.getMaxY()),r=null;r=u||f?n.find(t):n.getNode(t);r.add(i)},interfaces_:function(){return[]},getClass:function(){return hs}});hs.origin=new r(0,0);t(ho.prototype,{size:function(){return null!==this.root?this.root.size():0},insert:function(n,t){this.collectStats(n);var i=ho.ensureExtent(n,this.minExtent);this.root.insert(i,t)},query:function(){var t,n,i,r;if(1===arguments.length)return t=arguments[0],n=new vv,this.query(t,n),n.getItems();2===arguments.length&&(i=arguments[0],r=arguments[1],this.root.visit(i,r))},queryAll:function(){var n=new u;return this.root.addAllItems(n),n},remove:function(n,t){var i=ho.ensureExtent(n,this.minExtent);return this.root.remove(i,t)},collectStats:function(n){var i=n.getWidth(),t;i<this.minExtent&&i>0&&(this.minExtent=i);t=n.getHeight();t<this.minExtent&&t>0&&(this.minExtent=t)},depth:function(){return null!==this.root?this.root.depth():0},isEmpty:function(){return null===this.root},interfaces_:function(){return[iv,fr]},getClass:function(){return ho}});ho.ensureExtent=function(n,t){var i=n.getMinX(),u=n.getMaxX(),r=n.getMinY(),f=n.getMaxY();return i!==u&&r!==f?n:(i===u&&(i-=t/2,u=i+t/2),r===f&&(r-=t/2,f=r+t/2),new p(i,u,r,f))};ho.serialVersionUID=-0x678b60c967a25400;var dd=Object.freeze({Quadtree:ho}),gd=Object.freeze({STRtree:kt}),ng=Object.freeze({quadtree:dd,strtree:gd}),tg=["Point","MultiPoint","LineString","MultiLineString","Polygon","MultiPolygon"];t(aw.prototype,{read:function(n){var i=void 0,t;if(i="string"==typeof n?JSON.parse(n):n,t=i.type,!yu[t])throw new Error("Unknown GeoJSON type: "+i.type);return-1!==tg.indexOf(t)?yu[t].apply(this,[i.coordinates]):"GeometryCollection"===t?yu[t].apply(this,[i.geometries]):yu[t].apply(this,[i])},write:function(n){var t=n.getGeometryType();if(!pf[t])throw new Error("Geometry is not supported");return pf[t].apply(this,[n])}});yu={Feature:function(n){var t={},i,r;for(i in n)t[i]=n[i];if(n.geometry){if(r=n.geometry.type,!yu[r])throw new Error("Unknown GeoJSON type: "+n.type);t.geometry=this.read(n.geometry)}return n.bbox&&(t.bbox=yu.bbox.apply(this,[n.bbox])),t},FeatureCollection:function(n){var t={},i;if(n.features)for(t.features=[],i=0;i<n.features.length;++i)t.features.push(this.read(n.features[i]));return n.bbox&&(t.bbox=this.parse.bbox.apply(this,[n.bbox])),t},coordinates:function(n){for(var u,i=[],t=0;t<n.length;++t)u=n[t],i.push(new r(u[0],u[1]));return i},bbox:function(n){return this.geometryFactory.createLinearRing([new r(n[0],n[1]),new r(n[2],n[1]),new r(n[2],n[3]),new r(n[0],n[3]),new r(n[0],n[1])])},Point:function(n){var t=new r(n[0],n[1]);return this.geometryFactory.createPoint(t)},MultiPoint:function(n){for(var i=[],t=0;t<n.length;++t)i.push(yu.Point.apply(this,[n[t]]));return this.geometryFactory.createMultiPoint(i)},LineString:function(n){var t=yu.coordinates.apply(this,[n]);return this.geometryFactory.createLineString(t)},MultiLineString:function(n){for(var i=[],t=0;t<n.length;++t)i.push(yu.LineString.apply(this,[n[t]]));return this.geometryFactory.createMultiLineString(i)},Polygon:function(n){for(var r=yu.coordinates.apply(this,[n[0]]),u=this.geometryFactory.createLinearRing(r),i=[],t=1;t<n.length;++t){var f=n[t],e=yu.coordinates.apply(this,[f]),o=this.geometryFactory.createLinearRing(e);i.push(o)}return this.geometryFactory.createPolygon(u,i)},MultiPolygon:function(n){for(var r,i=[],t=0;t<n.length;++t)r=n[t],i.push(yu.Polygon.apply(this,[r]));return this.geometryFactory.createMultiPolygon(i)},GeometryCollection:function(n){for(var r,i=[],t=0;t<n.length;++t)r=n[t],i.push(this.read(r));return this.geometryFactory.createGeometryCollection(i)}};pf={coordinate:function(n){return[n.x,n.y]},Point:function(n){return{type:"Point",coordinates:pf.coordinate.apply(this,[n.getCoordinate()])}},MultiPoint:function(n){for(var r,u,i=[],t=0;t<n.geometries.length;++t)r=n.geometries[t],u=pf.Point.apply(this,[r]),i.push(u.coordinates);return{type:"MultiPoint",coordinates:i}},LineString:function(n){for(var u,i=[],r=n.getCoordinates(),t=0;t<r.length;++t)u=r[t],i.push(pf.coordinate.apply(this,[u]));return{type:"LineString",coordinates:i}},MultiLineString:function(n){for(var r,u,i=[],t=0;t<n.geometries.length;++t)r=n.geometries[t],u=pf.LineString.apply(this,[r]),i.push(u.coordinates);return{type:"MultiLineString",coordinates:i}},Polygon:function(n){var i=[],f=pf.LineString.apply(this,[n.shell]),t,r,u;for(i.push(f.coordinates),t=0;t<n.holes.length;++t)r=n.holes[t],u=pf.LineString.apply(this,[r]),i.push(u.coordinates);return{type:"Polygon",coordinates:i}},MultiPolygon:function(n){for(var r,u,i=[],t=0;t<n.geometries.length;++t)r=n.geometries[t],u=pf.Polygon.apply(this,[r]),i.push(u.coordinates);return{type:"MultiPolygon",coordinates:i}},GeometryCollection:function(n){for(var r,u,i=[],t=0;t<n.geometries.length;++t)r=n.geometries[t],u=r.getGeometryType(),i.push(pf[u].apply(this,[r]));return{type:"GeometryCollection",geometries:i}}};t(pb.prototype,{read:function(n){var t=this.parser.read(n);return this.precisionModel.getType()===et.FIXED&&this.reducePrecision(t),t},reducePrecision:function(n){var t,i;if(n.coordinate)this.precisionModel.makePrecise(n.coordinate);else if(n.points)for(t=0,i=n.points.length;t<i;t++)this.precisionModel.makePrecise(n.points[t]);else if(n.geometries)for(t=0,i=n.geometries.length;t<i;t++)this.reducePrecision(n.geometries[t])}});t(wb.prototype,{write:function(n){return this.parser.write(n)}});t(bb.prototype,{read:function(n){var t=this.parser.read(n);return this.precisionModel.getType()===et.FIXED&&this.reducePrecision(t),t},reducePrecision:function(n){var t,r,i,u;if(n.coordinate)this.precisionModel.makePrecise(n.coordinate);else if(n.points)for(t=0,r=n.points.coordinates.length;t<r;t++)this.precisionModel.makePrecise(n.points.coordinates[t]);else if(n.geometries)for(i=0,u=n.geometries.length;i<u;i++)this.reducePrecision(n.geometries[i])}});t(kb.prototype,{read:function(n){var t=this.ol;return n instanceof t.geom.Point?this.convertFromPoint(n):n instanceof t.geom.LineString?this.convertFromLineString(n):n instanceof t.geom.LinearRing?this.convertFromLinearRing(n):n instanceof t.geom.Polygon?this.convertFromPolygon(n):n instanceof t.geom.MultiPoint?this.convertFromMultiPoint(n):n instanceof t.geom.MultiLineString?this.convertFromMultiLineString(n):n instanceof t.geom.MultiPolygon?this.convertFromMultiPolygon(n):n instanceof t.geom.GeometryCollection?this.convertFromCollection(n):void 0},convertFromPoint:function(n){var t=n.getCoordinates();return this.geometryFactory.createPoint(new r(t[0],t[1]))},convertFromLineString:function(n){return this.geometryFactory.createLineString(n.getCoordinates().map(function(n){return new r(n[0],n[1])}))},convertFromLinearRing:function(n){return this.geometryFactory.createLinearRing(n.getCoordinates().map(function(n){return new r(n[0],n[1])}))},convertFromPolygon:function(n){for(var i,r=n.getLinearRings(),u=null,f=[],t=0;t<r.length;t++)i=this.convertFromLinearRing(r[t]),0===t?u=i:f.push(i);return this.geometryFactory.createPolygon(u,f)},convertFromMultiPoint:function(n){var t=n.getPoints().map(function(n){return this.convertFromPoint(n)},this);return this.geometryFactory.createMultiPoint(t)},convertFromMultiLineString:function(n){var t=n.getLineStrings().map(function(n){return this.convertFromLineString(n)},this);return this.geometryFactory.createMultiLineString(t)},convertFromMultiPolygon:function(n){var t=n.getPolygons().map(function(n){return this.convertFromPolygon(n)},this);return this.geometryFactory.createMultiPolygon(t)},convertFromCollection:function(n){var t=n.getGeometries().map(function(n){return this.read(n)},this);return this.geometryFactory.createGeometryCollection(t)},write:function(n){return"Point"===n.getGeometryType()?this.convertToPoint(n.getCoordinate()):"LineString"===n.getGeometryType()?this.convertToLineString(n):"LinearRing"===n.getGeometryType()?this.convertToLinearRing(n):"Polygon"===n.getGeometryType()?this.convertToPolygon(n):"MultiPoint"===n.getGeometryType()?this.convertToMultiPoint(n):"MultiLineString"===n.getGeometryType()?this.convertToMultiLineString(n):"MultiPolygon"===n.getGeometryType()?this.convertToMultiPolygon(n):"GeometryCollection"===n.getGeometryType()?this.convertToCollection(n):void 0},convertToPoint:function(n){return new this.ol.geom.Point([n.x,n.y])},convertToLineString:function(n){var t=n.points.coordinates.map(ul);return new this.ol.geom.LineString(t)},convertToLinearRing:function(n){var t=n.points.coordinates.map(ul);return new this.ol.geom.LinearRing(t)},convertToPolygon:function(n){for(var i=[n.shell.points.coordinates.map(ul)],t=0;t<n.holes.length;t++)i.push(n.holes[t].points.coordinates.map(ul));return new this.ol.geom.Polygon(i)},convertToMultiPoint:function(n){return new this.ol.geom.MultiPoint(n.getCoordinates().map(ul))},convertToMultiLineString:function(n){for(var i=[],t=0;t<n.geometries.length;t++)i.push(this.convertToLineString(n.geometries[t]).getCoordinates());return new this.ol.geom.MultiLineString(i)},convertToMultiPolygon:function(n){for(var i=[],t=0;t<n.geometries.length;t++)i.push(this.convertToPolygon(n.geometries[t]).getCoordinates());return new this.ol.geom.MultiPolygon(i)},convertToCollection:function(n){for(var r,i=[],t=0;t<n.geometries.length;t++)r=n.geometries[t],i.push(this.write(r));return new this.ol.geom.GeometryCollection(i)}});rk=Object.freeze({GeoJSONReader:pb,GeoJSONWriter:wb,OL3Parser:kb,WKTReader:bb,WKTWriter:wi});t(fl.prototype,{rescale:function(){var i,u,n,t;if(l(arguments[0],yt))for(i=arguments[0],t=i.iterator();t.hasNext();)u=t.next(),this.rescale(u.getCoordinates());else if(arguments[0]instanceof Array){for(n=arguments[0],2===n.length&&(new r(n[0]),new r(n[1])),t=0;t<n.length;t++)n[t].x=n[t].x/this.scaleFactor+this.offsetX,n[t].y=n[t].y/this.scaleFactor+this.offsetY;2===n.length&&n[0].equals2D(n[1])&&pt.out.println(n)}},scale:function(){var i;if(l(arguments[0],yt)){for(var o=arguments[0],f=new u,n=o.iterator();n.hasNext();)i=n.next(),f.add(new ff(this.scale(i.getCoordinates()),i.getData()));return f}if(arguments[0]instanceof Array){for(var t=arguments[0],e=new Array(t.length).fill(null),n=0;n<t.length;n++)e[n]=new r(Math.round((t[n].x-this.offsetX)*this.scaleFactor),Math.round((t[n].y-this.offsetY)*this.scaleFactor),t[n].z);return w.removeRepeatedPoints(e)}},isIntegerPrecision:function(){return 1===this.scaleFactor},getNodedSubstrings:function(){var n=this.noder.getNodedSubstrings();return this.isScaled&&this.rescale(n),n},computeNodes:function(n){var t=n;this.isScaled&&(t=this.scale(n));this.noder.computeNodes(t)},interfaces_:function(){return[ac]},getClass:function(){return fl}});uk=Object.freeze({MCIndexNoder:to,ScaledNoder:fl,SegmentString:hc});t(el.prototype,{isSimpleMultiPoint:function(n){var r,t,u,i;if(n.isEmpty())return!0;for(r=new gi,t=0;t<n.getNumGeometries();t++){if(u=n.getGeometryN(t),i=u.getCoordinate(),r.contains(i))return this.nonSimpleLocation=i,!1;r.add(i)}return!0},isSimplePolygonal:function(n){for(var r,i=bi.getLines(n),t=i.iterator();t.hasNext();)if(r=t.next(),!this.isSimpleLinearGeometry(r))return!1;return!0},hasClosedEndpointIntersection:function(n){for(var e,u,r=new ui,t=n.getEdgeIterator();t.hasNext();){var i=t.next(),f=(i.getMaximumSegmentIndex(),i.isClosed()),o=i.getCoordinate(0);this.addEndpoint(r,o,f);e=i.getCoordinate(i.getNumPoints()-1);this.addEndpoint(r,e,f)}for(t=r.values().iterator();t.hasNext();)if(u=t.next(),u.isClosed&&2!==u.degree)return this.nonSimpleLocation=u.getCoordinate(),!0;return!1},getNonSimpleLocation:function(){return this.nonSimpleLocation},isSimpleLinearGeometry:function(n){if(n.isEmpty())return!0;var t=new cr(0,n),r=new si,i=t.computeSelfNodes(r,!0);return!i.hasIntersection()||(i.hasProperIntersection()?(this.nonSimpleLocation=i.getProperIntersectionPoint(),!1):!this.hasNonEndpointIntersection(t)&&(!this.isClosedEndpointsInInterior||!this.hasClosedEndpointIntersection(t)))},hasNonEndpointIntersection:function(n){for(var i,t=n.getEdgeIterator();t.hasNext();)for(var r=t.next(),f=r.getMaximumSegmentIndex(),u=r.getEdgeIntersectionList().iterator();u.hasNext();)if(i=u.next(),!i.isEndPoint(f))return this.nonSimpleLocation=i.getCoordinate(),!0;return!1},addEndpoint:function(n,t,i){var r=n.get(t);null===r&&(r=new ny(t),n.put(t,r));r.addEndpoint(i)},computeSimple:function(n){return this.nonSimpleLocation=null,!!n.isEmpty()||(n instanceof d?this.isSimpleLinearGeometry(n):n instanceof nr?this.isSimpleLinearGeometry(n):n instanceof ar?this.isSimpleMultiPoint(n):l(n,gf)?this.isSimplePolygonal(n):!(n instanceof nt)||this.isSimpleGeometryCollection(n))},isSimple:function(){return this.nonSimpleLocation=null,this.computeSimple(this.inputGeom)},isSimpleGeometryCollection:function(n){for(var i,t=0;t<n.getNumGeometries();t++)if(i=n.getGeometryN(t),!this.computeSimple(i))return!1;return!0},interfaces_:function(){return[]},getClass:function(){return el}});t(ny.prototype,{addEndpoint:function(n){this.degree++;this.isClosed|=n},getCoordinate:function(){return this.pt},interfaces_:function(){return[]},getClass:function(){return ny}});el.EndpointInfo=ny;t(rt.prototype,{getEndCapStyle:function(){return this.endCapStyle},isSingleSided:function(){return this._isSingleSided},setQuadrantSegments:function(n){this.quadrantSegments=n;0===this.quadrantSegments&&(this.joinStyle=rt.JOIN_BEVEL);this.quadrantSegments<0&&(this.joinStyle=rt.JOIN_MITRE,this.mitreLimit=Math.abs(this.quadrantSegments));n<=0&&(this.quadrantSegments=1);this.joinStyle!==rt.JOIN_ROUND&&(this.quadrantSegments=rt.DEFAULT_QUADRANT_SEGMENTS)},getJoinStyle:function(){return this.joinStyle},setJoinStyle:function(n){this.joinStyle=n},setSimplifyFactor:function(n){this.simplifyFactor=n<0?0:n},getSimplifyFactor:function(){return this.simplifyFactor},getQuadrantSegments:function(){return this.quadrantSegments},setEndCapStyle:function(n){this.endCapStyle=n},getMitreLimit:function(){return this.mitreLimit},setMitreLimit:function(n){this.mitreLimit=n},setSingleSided:function(n){this._isSingleSided=n},interfaces_:function(){return[]},getClass:function(){return rt}});rt.bufferDistanceError=function(n){var t=Math.PI/2/n;return 1-Math.cos(t/2)};rt.CAP_ROUND=1;rt.CAP_FLAT=2;rt.CAP_SQUARE=3;rt.JOIN_ROUND=1;rt.JOIN_MITRE=2;rt.JOIN_BEVEL=3;rt.DEFAULT_QUADRANT_SEGMENTS=8;rt.DEFAULT_MITRE_LIMIT=5;rt.DEFAULT_SIMPLIFY_FACTOR=.01;t(vw.prototype,{getCoordinate:function(){return this.minCoord},getRightmostSide:function(n,t){var i=this.getRightmostSideOfSegment(n,t);return i<0&&(i=this.getRightmostSideOfSegment(n,t-1)),i<0&&(this.minCoord=null,this.checkForRightmostCoordinate(n)),i},findRightmostEdgeAtVertex:function(){var n=this.minDe.getEdge().getCoordinates();c.isTrue(this.minIndex>0&&this.minIndex<n.length,"rightmost point expected to be interior vertex of edge");var t=n[this.minIndex-1],i=n[this.minIndex+1],u=s.computeOrientation(this.minCoord,i,t),r=!1;t.y<this.minCoord.y&&i.y<this.minCoord.y&&u===s.COUNTERCLOCKWISE?r=!0:t.y>this.minCoord.y&&i.y>this.minCoord.y&&u===s.CLOCKWISE&&(r=!0);r&&(this.minIndex=this.minIndex-1)},getRightmostSideOfSegment:function(n,t){var u=n.getEdge(),i=u.getCoordinates(),r;return t<0||t+1>=i.length?-1:i[t].y===i[t+1].y?-1:(r=o.LEFT,i[t].y<i[t+1].y&&(r=o.RIGHT),r)},getEdge:function(){return this.orientedDe},checkForRightmostCoordinate:function(n){for(var i=n.getEdge().getCoordinates(),t=0;t<i.length-1;t++)(null===this.minCoord||i[t].x>this.minCoord.x)&&(this.minDe=n,this.minIndex=t,this.minCoord=i[t])},findRightmostEdgeAtNode:function(){var n=this.minDe.getNode(),t=n.getEdges();this.minDe=t.getRightmostEdge();this.minDe.isForward()||(this.minDe=this.minDe.getSym(),this.minIndex=this.minDe.getEdge().getCoordinates().length-1)},findEdge:function(n){for(var i,t=n.iterator();t.hasNext();)i=t.next(),i.isForward()&&this.checkForRightmostCoordinate(i);c.isTrue(0!==this.minIndex||this.minCoord.equals(this.minDe.getCoordinate()),"inconsistency in rightmost processing");0===this.minIndex?this.findRightmostEdgeAtNode():this.findRightmostEdgeAtVertex();this.orientedDe=this.minDe;this.getRightmostSide(this.minDe,this.minIndex)===o.LEFT&&(this.orientedDe=this.minDe.getSym())},interfaces_:function(){return[]},getClass:function(){return vw}});ty.prototype.addLast=function(n){this.array_.push(n)};ty.prototype.removeFirst=function(){return this.array_.shift()};ty.prototype.isEmpty=function(){return 0===this.array_.length};t(yw.prototype,{clearVisitedEdges:function(){for(var n=this.dirEdgeList.iterator();n.hasNext();)n.next().setVisited(!1)},getRightmostCoordinate:function(){return this.rightMostCoord},computeNodeDepth:function(n){for(var t,r=null,i=n.getEdges().iterator();i.hasNext();)if(t=i.next(),t.isVisited()||t.getSym().isVisited()){r=t;break}if(null===r)throw new vr("unable to find edge to compute depths at "+n.getCoordinate());for(n.getEdges().computeDepths(r),i=n.getEdges().iterator();i.hasNext();)t=i.next(),t.setVisited(!0),this.copySymDepths(t)},computeDepth:function(n){this.clearVisitedEdges();var t=this.finder.getEdge();t.getNode();t.getLabel();t.setEdgeDepths(o.RIGHT,n);this.copySymDepths(t);this.computeDepths(t)},create:function(n){this.addReachable(n);this.finder.findEdge(this.dirEdgeList);this.rightMostCoord=this.finder.getCoordinate()},findResultEdges:function(){for(var n,t=this.dirEdgeList.iterator();t.hasNext();)n=t.next(),n.getDepth(o.RIGHT)>=1&&n.getDepth(o.LEFT)<=0&&!n.isInteriorAreaEdge()&&n.setInResult(!0)},computeDepths:function(n){var t=new ai,i=new ty,o=n.getNode(),r,f,s,e,u;for(i.addLast(o),t.add(o),n.setVisited(!0);!i.isEmpty();)for(r=i.removeFirst(),t.add(r),this.computeNodeDepth(r),f=r.getEdges().iterator();f.hasNext();)s=f.next(),e=s.getSym(),e.isVisited()||(u=e.getNode(),t.contains(u)||(i.addLast(u),t.add(u)))},compareTo:function(n){var t=n;return this.rightMostCoord.x<t.rightMostCoord.x?-1:this.rightMostCoord.x>t.rightMostCoord.x?1:0},getEnvelope:function(){var n,t;if(null===this.env){for(n=new p,t=this.dirEdgeList.iterator();t.hasNext();)for(var u=t.next(),r=u.getEdge().getCoordinates(),i=0;i<r.length-1;i++)n.expandToInclude(r[i]);this.env=n}return this.env},addReachable:function(n){var t=new tr,i;for(t.add(n);!t.empty();)i=t.pop(),this.add(i,t)},copySymDepths:function(n){var t=n.getSym();t.setDepth(o.LEFT,n.getDepth(o.RIGHT));t.setDepth(o.RIGHT,n.getDepth(o.LEFT))},add:function(n,t){var i,r,f,u;for(n.setVisited(!0),this.nodes.add(n),i=n.getEdges().iterator();i.hasNext();)r=i.next(),this.dirEdgeList.add(r),f=r.getSym(),u=f.getNode(),u.isVisited()||t.push(u)},getNodes:function(){return this.nodes},getDirectedEdges:function(){return this.dirEdgeList},interfaces_:function(){return[ur]},getClass:function(){return yw}});t(yi.prototype,{isDeletable:function(n,t,i,r){var u=this.inputLine[n],f=this.inputLine[t],e=this.inputLine[i];return!!this.isConcave(u,f,e)&&!!this.isShallow(u,f,e,r)&&this.isShallowSampled(u,f,n,i,r)},deleteShallowConcavities:function(){for(var r,t=1,n=(this.inputLine.length,this.findNextNonDeletedIndex(t)),i=this.findNextNonDeletedIndex(n),u=!1;i<this.inputLine.length;)r=!1,this.isDeletable(t,n,i,this.distanceTol)&&(this.isDeleted[n]=yi.DELETE,r=!0,u=!0),t=r?i:n,n=this.findNextNonDeletedIndex(t),i=this.findNextNonDeletedIndex(n);return u},isShallowConcavity:function(n,t,i,r){return s.computeOrientation(n,t,i)===this.angleOrientation&&s.distancePointLine(t,n,i)<r},isShallowSampled:function(n,t,i,r,u){var e=Math.trunc((r-i)/yi.NUM_PTS_TO_CHECK),f;for(e<=0&&(e=1),f=i;f<r;f+=e)if(!this.isShallow(n,t,this.inputLine[f],u))return!1;return!0},isConcave:function(n,t,i){return s.computeOrientation(n,t,i)===this.angleOrientation},simplify:function(n){this.distanceTol=Math.abs(n);n<0&&(this.angleOrientation=s.CLOCKWISE);this.isDeleted=new Array(this.inputLine.length).fill(null);var t=!1;do t=this.deleteShallowConcavities();while(t);return this.collapseLine()},findNextNonDeletedIndex:function(n){for(var t=n+1;t<this.inputLine.length&&this.isDeleted[t]===yi.DELETE;)t++;return t},isShallow:function(n,t,i,r){return s.distancePointLine(t,n,i)<r},collapseLine:function(){for(var t=new gt,n=0;n<this.inputLine.length;n++)this.isDeleted[n]!==yi.DELETE&&t.add(this.inputLine[n]);return t.toCoordinateArray()},interfaces_:function(){return[]},getClass:function(){return yi}});yi.simplify=function(n,t){return new yi(n).simplify(t)};yi.INIT=0;yi.DELETE=1;yi.KEEP=1;yi.NUM_PTS_TO_CHECK=10;t(sl.prototype,{getCoordinates:function(){return this.ptList.toArray(sl.COORDINATE_ARRAY_TYPE)},setPrecisionModel:function(n){this.precisionModel=n},addPt:function(n){var t=new r(n);if(this.precisionModel.makePrecise(t),this.isRedundant(t))return null;this.ptList.add(t)},reverse:function(){},addPts:function(n,t){var i;if(t)for(i=0;i<n.length;i++)this.addPt(n[i]);else for(i=n.length-1;i>=0;i--)this.addPt(n[i])},isRedundant:function(n){if(this.ptList.size()<1)return!1;var t=this.ptList.get(this.ptList.size()-1);return n.distance(t)<this.minimimVertexDistance},toString:function(){return(new g).createLineString(this.getCoordinates()).toString()},closeRing:function(){if(this.ptList.size()<1)return null;var n=new r(this.ptList.get(0)),t=this.ptList.get(this.ptList.size()-1);if(this.ptList.size()>=2&&this.ptList.get(this.ptList.size()-2),n.equals(t))return null;this.ptList.add(n)},setMinimumVertexDistance:function(n){this.minimimVertexDistance=n},interfaces_:function(){return[]},getClass:function(){return sl}});sl.COORDINATE_ARRAY_TYPE=new Array(0).fill(null);t(cf.prototype,{addNextSegment:function(n,t){if(this.s0=this.s1,this.s1=this.s2,this.s2=n,this.seg0.setCoordinates(this.s0,this.s1),this.computeOffsetSegment(this.seg0,this.side,this.distance,this.offset0),this.seg1.setCoordinates(this.s1,this.s2),this.computeOffsetSegment(this.seg1,this.side,this.distance,this.offset1),this.s1.equals(this.s2))return null;var i=s.computeOrientation(this.s0,this.s1,this.s2),r=i===s.CLOCKWISE&&this.side===o.LEFT||i===s.COUNTERCLOCKWISE&&this.side===o.RIGHT;0===i?this.addCollinear(t):r?this.addOutsideTurn(i,t):this.addInsideTurn(i,t)},addLineEndCap:function(n,t){var h=new b(n,t),f=new b,u,i,c,l;this.computeOffsetSegment(h,o.LEFT,this.distance,f);u=new b;this.computeOffsetSegment(h,o.RIGHT,this.distance,u);var a=t.x-n.x,v=t.y-n.y,e=Math.atan2(v,a);switch(this.bufParams.getEndCapStyle()){case rt.CAP_ROUND:this.segList.addPt(f.p1);this.addFilletArc(t,e+Math.PI/2,e-Math.PI/2,s.CLOCKWISE,this.distance);this.segList.addPt(u.p1);break;case rt.CAP_FLAT:this.segList.addPt(f.p1);this.segList.addPt(u.p1);break;case rt.CAP_SQUARE:i=new r;i.x=Math.abs(this.distance)*Math.cos(e);i.y=Math.abs(this.distance)*Math.sin(e);c=new r(f.p1.x+i.x,f.p1.y+i.y);l=new r(u.p1.x+i.x,u.p1.y+i.y);this.segList.addPt(c);this.segList.addPt(l)}},getCoordinates:function(){return this.segList.getCoordinates()},addMitreJoin:function(n,t,i,u){var e=!0,f=null;try{f=lr.intersection(t.p0,t.p1,i.p0,i.p1);(u<=0?1:f.distance(n)/Math.abs(u))>this.bufParams.getMitreLimit()&&(e=!1)}catch(n){if(!(n instanceof wf))throw n;f=new r(0,0);e=!1}e?this.segList.addPt(f):this.addLimitedMitreJoin(t,i,u,this.bufParams.getMitreLimit())},addFilletCorner:function(n,t,i,r,u){var o=t.x-n.x,h=t.y-n.y,f=Math.atan2(h,o),c=i.x-n.x,l=i.y-n.y,e=Math.atan2(l,c);r===s.CLOCKWISE?f<=e&&(f+=2*Math.PI):f>=e&&(f-=2*Math.PI);this.segList.addPt(t);this.addFilletArc(n,f,e,r,u);this.segList.addPt(i)},addOutsideTurn:function(n,t){if(this.offset0.p1.distance(this.offset1.p0)<this.distance*cf.OFFSET_SEGMENT_SEPARATION_FACTOR)return this.segList.addPt(this.offset0.p1),null;this.bufParams.getJoinStyle()===rt.JOIN_MITRE?this.addMitreJoin(this.s1,this.offset0,this.offset1,this.distance):this.bufParams.getJoinStyle()===rt.JOIN_BEVEL?this.addBevelJoin(this.offset0,this.offset1):(t&&this.segList.addPt(this.offset0.p1),this.addFilletCorner(this.s1,this.offset0.p1,this.offset1.p0,n,this.distance),this.segList.addPt(this.offset1.p0))},createSquare:function(n){this.segList.addPt(new r(n.x+this.distance,n.y+this.distance));this.segList.addPt(new r(n.x+this.distance,n.y-this.distance));this.segList.addPt(new r(n.x-this.distance,n.y-this.distance));this.segList.addPt(new r(n.x-this.distance,n.y+this.distance));this.segList.closeRing()},addSegments:function(n,t){this.segList.addPts(n,t)},addFirstSegment:function(){this.segList.addPt(this.offset1.p0)},addLastSegment:function(){this.segList.addPt(this.offset1.p1)},initSideSegments:function(n,t,i){this.s1=n;this.s2=t;this.side=i;this.seg1.setCoordinates(n,t);this.computeOffsetSegment(this.seg1,i,this.distance,this.offset1)},addLimitedMitreJoin:function(n,t,i,u){var f=this.seg0.p1,y=k.angle(f,this.seg0.p0),p=(k.angle(f,this.seg1.p1),k.angleBetweenOriented(this.seg0.p0,f,this.seg1.p1)),s=p/2,w=k.normalize(y+s),h=k.normalize(w+Math.PI),e=u*i,d=e*Math.abs(Math.sin(s)),c=i-d,g=f.x+e*Math.cos(h),nt=f.y+e*Math.sin(h),tt=new r(g,nt),l=new b(f,tt),a=l.pointAlongOffset(1,c),v=l.pointAlongOffset(1,-c);this.side===o.LEFT?(this.segList.addPt(a),this.segList.addPt(v)):(this.segList.addPt(v),this.segList.addPt(a))},computeOffsetSegment:function(n,t,i,r){var e=t===o.LEFT?1:-1,u=n.p1.x-n.p0.x,f=n.p1.y-n.p0.y,s=Math.sqrt(u*u+f*f),h=e*i*u/s,c=e*i*f/s;r.p0.x=n.p0.x-c;r.p0.y=n.p0.y+h;r.p1.x=n.p1.x-c;r.p1.y=n.p1.y+h},addFilletArc:function(n,t,i,u,f){var y=u===s.CLOCKWISE?-1:1,h=Math.abs(t-i),v=Math.trunc(h/this.filletAngleQuantum+.5),c,l,e,o,a;if(v<1)return null;for(c=null,l=null,c=0,l=h/v,e=c,o=new r;e<h;)a=t+y*e,o.x=n.x+f*Math.cos(a),o.y=n.y+f*Math.sin(a),this.segList.addPt(o),e+=l},addInsideTurn:function(){var n,t;(this.li.computeIntersection(this.offset0.p0,this.offset0.p1,this.offset1.p0,this.offset1.p1),this.li.hasIntersection())?this.segList.addPt(this.li.getIntersection(0)):(this._hasNarrowConcaveAngle=!0,this.offset0.p1.distance(this.offset1.p0)<this.distance*cf.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR)?this.segList.addPt(this.offset0.p1):((this.segList.addPt(this.offset0.p1),this.closingSegLengthFactor>0)?(n=new r((this.closingSegLengthFactor*this.offset0.p1.x+this.s1.x)/(this.closingSegLengthFactor+1),(this.closingSegLengthFactor*this.offset0.p1.y+this.s1.y)/(this.closingSegLengthFactor+1)),this.segList.addPt(n),t=new r((this.closingSegLengthFactor*this.offset1.p0.x+this.s1.x)/(this.closingSegLengthFactor+1),(this.closingSegLengthFactor*this.offset1.p0.y+this.s1.y)/(this.closingSegLengthFactor+1)),this.segList.addPt(t)):this.segList.addPt(this.s1),this.segList.addPt(this.offset1.p0))},createCircle:function(n){var t=new r(n.x+this.distance,n.y);this.segList.addPt(t);this.addFilletArc(n,0,2*Math.PI,-1,this.distance);this.segList.closeRing()},addBevelJoin:function(n,t){this.segList.addPt(n.p1);this.segList.addPt(t.p0)},init:function(n){this.distance=n;this.maxCurveSegmentError=n*(1-Math.cos(this.filletAngleQuantum/2));this.segList=new sl;this.segList.setPrecisionModel(this.precisionModel);this.segList.setMinimumVertexDistance(n*cf.CURVE_VERTEX_SNAP_DISTANCE_FACTOR)},addCollinear:function(n){this.li.computeIntersection(this.s0,this.s1,this.s1,this.s2);this.li.getIntersectionNum()>=2&&(this.bufParams.getJoinStyle()===rt.JOIN_BEVEL||this.bufParams.getJoinStyle()===rt.JOIN_MITRE?(n&&this.segList.addPt(this.offset0.p1),this.segList.addPt(this.offset1.p0)):this.addFilletCorner(this.s1,this.offset0.p1,this.offset1.p0,s.CLOCKWISE,this.distance))},closeRing:function(){this.segList.closeRing()},hasNarrowConcaveAngle:function(){return this._hasNarrowConcaveAngle},interfaces_:function(){return[]},getClass:function(){return cf}});cf.OFFSET_SEGMENT_SEPARATION_FACTOR=.001;cf.INSIDE_TURN_VERTEX_SNAP_DISTANCE_FACTOR=.001;cf.CURVE_VERTEX_SNAP_DISTANCE_FACTOR=1e-6;cf.MAX_CLOSING_SEG_LEN_FACTOR=80;t(hl.prototype,{getOffsetCurve:function(n,t){var r;if(this.distance=t,0===t)return null;var u=t<0,f=Math.abs(t),i=this.getSegGen(f);return n.length<=1?this.computePointCurve(n[0],i):this.computeOffsetCurve(n,u,i),r=i.getCoordinates(),u&&w.reverse(r),r},computeSingleSidedBufferCurve:function(n,t,i){var s=this.simplifyTolerance(this.distance),u,e,f,h,r;if(t)for(i.addSegments(n,!0),u=yi.simplify(n,-s),e=u.length-1,i.initSideSegments(u[e],u[e-1],o.LEFT),i.addFirstSegment(),r=e-2;r>=0;r--)i.addNextSegment(u[r],!0);else for(i.addSegments(n,!1),f=yi.simplify(n,s),h=f.length-1,i.initSideSegments(f[0],f[1],o.LEFT),i.addFirstSegment(),r=2;r<=h;r++)i.addNextSegment(f[r],!0);i.addLastSegment();i.closeRing()},computeRingBufferCurve:function(n,t,i){var f=this.simplifyTolerance(this.distance),r,e,u,s;for(t===o.RIGHT&&(f=-f),r=yi.simplify(n,f),e=r.length-1,i.initSideSegments(r[e-1],r[0],t),u=1;u<=e;u++)s=1!==u,i.addNextSegment(r[u],s);i.closeRing()},computeLineBufferCurve:function(n,t){var s=this.simplifyTolerance(this.distance),u=yi.simplify(n,s),e=u.length-1,r,f,i;for(t.initSideSegments(u[0],u[1],o.LEFT),i=2;i<=e;i++)t.addNextSegment(u[i],!0);for(t.addLastSegment(),t.addLineEndCap(u[e-1],u[e]),r=yi.simplify(n,-s),f=r.length-1,t.initSideSegments(r[f],r[f-1],o.LEFT),i=f-2;i>=0;i--)t.addNextSegment(r[i],!0);t.addLastSegment();t.addLineEndCap(r[1],r[0]);t.closeRing()},computePointCurve:function(n,t){switch(this.bufParams.getEndCapStyle()){case rt.CAP_ROUND:t.createCircle(n);break;case rt.CAP_SQUARE:t.createSquare(n)}},getLineCurve:function(n,t){var r,i,u;return(this.distance=t,t<0&&!this.bufParams.isSingleSided())?null:0===t?null:(r=Math.abs(t),i=this.getSegGen(r),n.length<=1?this.computePointCurve(n[0],i):this.bufParams.isSingleSided()?(u=t<0,this.computeSingleSidedBufferCurve(n,u,i)):this.computeLineBufferCurve(n,i),i.getCoordinates())},getBufferParameters:function(){return this.bufParams},simplifyTolerance:function(n){return n*this.bufParams.getSimplifyFactor()},getRingCurve:function(n,t,i){if(this.distance=i,n.length<=2)return this.getLineCurve(n,i);if(0===i)return hl.copyCoordinates(n);var r=this.getSegGen(i);return this.computeRingBufferCurve(n,t,r),r.getCoordinates()},computeOffsetCurve:function(n,t,i){var s=this.simplifyTolerance(this.distance),u,e,f,h,r;if(t)for(u=yi.simplify(n,-s),e=u.length-1,i.initSideSegments(u[e],u[e-1],o.LEFT),i.addFirstSegment(),r=e-2;r>=0;r--)i.addNextSegment(u[r],!0);else for(f=yi.simplify(n,s),h=f.length-1,i.initSideSegments(f[0],f[1],o.LEFT),i.addFirstSegment(),r=2;r<=h;r++)i.addNextSegment(f[r],!0);i.addLastSegment()},getSegGen:function(n){return new cf(this.precisionModel,this.bufParams,n)},interfaces_:function(){return[]},getClass:function(){return hl}});hl.copyCoordinates=function(n){for(var i=new Array(n.length).fill(null),t=0;t<i.length;t++)i[t]=new r(n[t]);return i};t(iy.prototype,{findStabbedSegments:function(){var e,h,p,a,w,v;if(1===arguments.length){for(var f=arguments[0],y=new u,n=this.subgraphs.iterator();n.hasNext();)e=n.next(),h=e.getEnvelope(),f.y<h.getMinY()||f.y>h.getMaxY()||this.findStabbedSegments(f,e.getDirectedEdges(),y);return y}if(3===arguments.length)if(l(arguments[2],ei)&&arguments[0]instanceof r&&arguments[1]instanceof us)for(var t=arguments[0],c=arguments[1],b=arguments[2],i=c.getEdge().getCoordinates(),n=0;n<i.length-1;n++)this.seg.p0=i[n],this.seg.p1=i[n+1],this.seg.p0.y>this.seg.p1.y&&this.seg.reverse(),p=Math.max(this.seg.p0.x,this.seg.p1.x),p<t.x||this.seg.isHorizontal()||t.y<this.seg.p0.y||t.y>this.seg.p1.y||s.computeOrientation(this.seg.p0,this.seg.p1,t)===s.RIGHT||(a=c.getDepth(o.LEFT),this.seg.p0.equals(i[n])||(a=c.getDepth(o.RIGHT)),w=new ry(this.seg,a),b.add(w));else if(l(arguments[2],ei)&&arguments[0]instanceof r&&l(arguments[1],ei))for(var k=arguments[0],d=arguments[1],g=arguments[2],n=d.iterator();n.hasNext();)v=n.next(),v.isForward()&&this.findStabbedSegments(k,v,g)},getDepth:function(n){var t=this.findStabbedSegments(n);return 0===t.size()?0:rf.min(t).leftDepth},interfaces_:function(){return[]},getClass:function(){return iy}});t(ry.prototype,{compareTo:function(n){var i=n,t;return this.upwardSeg.minX()>=i.upwardSeg.maxX()?1:this.upwardSeg.maxX()<=i.upwardSeg.minX()?-1:(t=this.upwardSeg.orientationIndex(i.upwardSeg),0!==t?t:(t=-1*i.upwardSeg.orientationIndex(this.upwardSeg),0!==t?t:this.upwardSeg.compareTo(i.upwardSeg)))},compareX:function(n,t){var i=n.p0.compareTo(t.p0);return 0!==i?i:n.p1.compareTo(t.p1)},toString:function(){return this.upwardSeg.toString()},interfaces_:function(){return[ur]},getClass:function(){return ry}});iy.DepthSegment=ry;t(pw.prototype,{addPoint:function(n){if(this.distance<=0)return null;var t=n.getCoordinates(),r=this.curveBuilder.getLineCurve(t,this.distance);this.addCurve(r,i.EXTERIOR,i.INTERIOR)},addPolygon:function(n){var r=this.distance,u=o.LEFT,f,e,t,s,h;if((this.distance<0&&(r=-this.distance,u=o.RIGHT),f=n.getExteriorRing(),e=w.removeRepeatedPoints(f.getCoordinates()),this.distance<0&&this.isErodedCompletely(f,this.distance))||this.distance<=0&&e.length<3)return null;for(this.addPolygonRing(e,r,u,i.EXTERIOR,i.INTERIOR),t=0;t<n.getNumInteriorRing();t++)s=n.getInteriorRingN(t),h=w.removeRepeatedPoints(s.getCoordinates()),this.distance>0&&this.isErodedCompletely(s,-this.distance)||this.addPolygonRing(h,r,o.opposite(u),i.INTERIOR,i.EXTERIOR)},isTriangleErodedCompletely:function(n,t){var i=new vt(n[0],n[1],n[2]),r=i.inCentre();return s.distancePointLine(r,i.p0,i.p1)<Math.abs(t)},addLineString:function(n){if(this.distance<=0&&!this.curveBuilder.getBufferParameters().isSingleSided())return null;var t=w.removeRepeatedPoints(n.getCoordinates()),r=this.curveBuilder.getLineCurve(t,this.distance);this.addCurve(r,i.EXTERIOR,i.INTERIOR)},addCurve:function(n,t,r){if(null===n||n.length<2)return null;var u=new ff(n,new ii(0,i.BOUNDARY,t,r));this.curveList.add(u)},getCurves:function(){return this.add(this.inputGeom),this.curveList},addPolygonRing:function(n,t,i,r,u){var f,e,h;if(0===t&&n.length<ni.MINIMUM_VALID_SIZE)return null;f=r;e=u;n.length>=ni.MINIMUM_VALID_SIZE&&s.isCCW(n)&&(f=u,e=r,i=o.opposite(i));h=this.curveBuilder.getRingCurve(n,i,t);this.addCurve(h,f,e)},add:function(n){if(n.isEmpty())return null;if(n instanceof ht)this.addPolygon(n);else if(n instanceof d)this.addLineString(n);else if(n instanceof bt)this.addPoint(n);else if(n instanceof ar)this.addCollection(n);else if(n instanceof nr)this.addCollection(n);else if(n instanceof vi)this.addCollection(n);else{if(!(n instanceof nt))throw new UnsupportedOperationException(n.getClass().getName());this.addCollection(n)}},isErodedCompletely:function(n,t){var i=n.getCoordinates(),r,u;return i.length<4?t<0:4===i.length?this.isTriangleErodedCompletely(i,t):(r=n.getEnvelopeInternal(),u=Math.min(r.getHeight(),r.getWidth()),t<0&&2*Math.abs(t)>u)},addCollection:function(n){for(var i,t=0;t<n.getNumGeometries();t++)i=n.getGeometryN(t),this.add(i)},interfaces_:function(){return[]},getClass:function(){return pw}});t(cl.prototype,{isTrivialIntersection:function(n,t,i,r){if(n===i&&1===this.li.getIntersectionNum()){if(cl.isAdjacentSegments(t,r))return!0;if(n.isClosed()){var u=n.size()-1;if(0===t&&r===u||0===r&&t===u)return!0}}return!1},getProperIntersectionPoint:function(){return this.properIntersectionPoint},hasProperInteriorIntersection:function(){return this.hasProperInterior},getLineIntersector:function(){return this.li},hasProperIntersection:function(){return this.hasProper},processIntersections:function(n,t,i,r){if(n===i&&t===r)return null;this.numTests++;var u=n.getCoordinates()[t],f=n.getCoordinates()[t+1],e=i.getCoordinates()[r],o=i.getCoordinates()[r+1];this.li.computeIntersection(u,f,e,o);this.li.hasIntersection()&&(this.numIntersections++,this.li.isInteriorIntersection()&&(this.numInteriorIntersections++,this.hasInterior=!0),this.isTrivialIntersection(n,t,i,r)||(this._hasIntersection=!0,n.addIntersections(this.li,t,0),i.addIntersections(this.li,r,1),this.li.isProper()&&(this.numProperIntersections++,this.hasProper=!0,this.hasProperInterior=!0)))},hasIntersection:function(){return this._hasIntersection},isDone:function(){return!1},hasInteriorIntersection:function(){return this.hasInterior},interfaces_:function(){return[yc]},getClass:function(){return cl}});cl.isAdjacentSegments=function(n,t){return 1===Math.abs(n-t)};t(co.prototype,{setWorkingPrecisionModel:function(n){this.workingPrecisionModel=n},insertUniqueEdge:function(n){var t=this.edgeList.findEqualEdge(n),r,i;if(null!==t){r=t.getLabel();i=n.getLabel();t.isPointwiseEqual(n)||(i=new ii(n.getLabel()),i.flip());r.merge(i);var u=co.depthDelta(i),f=t.getDepthDelta(),e=f+u;t.setDepthDelta(e)}else this.edgeList.add(n),n.setDepthDelta(co.depthDelta(n.getLabel()))},buildSubgraphs:function(n,t){for(var r=new u,f=n.iterator();f.hasNext();){var i=f.next(),e=i.getRightmostCoordinate(),o=new iy(r),s=o.getDepth(e);i.computeDepth(s);i.findResultEdges();r.add(i);t.add(i.getDirectedEdges(),i.getNodes())}},createSubgraphs:function(n){for(var r,f,t=new u,i=n.getNodes().iterator();i.hasNext();)r=i.next(),r.isVisited()||(f=new yw,f.create(r),t.add(f));return rf.sort(t,rf.reverseOrder()),t},createEmptyResultGeometry:function(){return this.geomFact.createPolygon()},getNoder:function(n){if(null!==this.workingNoder)return this.workingNoder;var t=new to,i=new si;return i.setPrecisionModel(n),t.setSegmentIntersector(new cl(i)),t},buffer:function(n,t){var i=this.workingPrecisionModel,e,r,u;null===i&&(i=n.getPrecisionModel());this.geomFact=n.getFactory();var o=new hl(i,this.bufParams),s=new pw(n,t,o),f=s.getCurves();return f.size()<=0?this.createEmptyResultGeometry():(this.computeNodedEdges(f,i),this.graph=new of(new fh),this.graph.addEdges(this.edgeList.getEdges()),e=this.createSubgraphs(this.graph),r=new ev(this.geomFact),this.buildSubgraphs(e,r),u=r.getPolygons(),u.size()<=0?this.createEmptyResultGeometry():this.geomFact.buildGeometry(u))},computeNodedEdges:function(n,t){var f=this.getNoder(t),e,u,i,r,o,s;for(f.computeNodes(n),e=f.getNodedSubstrings(),u=e.iterator();u.hasNext();)i=u.next(),r=i.getCoordinates(),2===r.length&&r[0].equals2D(r[1])||(o=i.getData(),s=new hu(i.getCoordinates(),new ii(o)),this.insertUniqueEdge(s))},setNoder:function(n){this.workingNoder=n},interfaces_:function(){return[]},getClass:function(){return co}});co.depthDelta=function(n){var t=n.getLocation(0,o.LEFT),r=n.getLocation(0,o.RIGHT);return t===i.INTERIOR&&r===i.EXTERIOR?1:t===i.EXTERIOR&&r===i.INTERIOR?-1:0};co.convertSegStrings=function(n){for(var r,f,t=new g,i=new u;n.hasNext();)r=n.next(),f=t.createLineString(r.getCoordinates()),i.add(f);return t.buildGeometry(i)};t(ll.prototype,{checkEndPtVertexIntersections:function(){var t,i,n;if(0===arguments.length)for(t=this.segStrings.iterator();t.hasNext();)i=t.next(),n=i.getCoordinates(),this.checkEndPtVertexIntersections(n[0],this.segStrings),this.checkEndPtVertexIntersections(n[n.length-1],this.segStrings);else if(2===arguments.length)for(var u=arguments[0],f=arguments[1],t=f.iterator();t.hasNext();)for(var i=t.next(),n=i.getCoordinates(),r=1;r<n.length-1;r++)if(n[r].equals(u))throw new li("found endpt/interior pt intersection at index "+r+" :pt "+u);},checkInteriorIntersections:function(){var t,a,i,v,n;if(0===arguments.length)for(t=this.segStrings.iterator();t.hasNext();)for(a=t.next(),i=this.segStrings.iterator();i.hasNext();)v=i.next(),this.checkInteriorIntersections(a,v);else if(2===arguments.length)for(var y=arguments[0],p=arguments[1],w=y.getCoordinates(),b=p.getCoordinates(),r=0;r<w.length-1;r++)for(n=0;n<b.length-1;n++)this.checkInteriorIntersections(y,r,p,n);else if(4===arguments.length){var u=arguments[0],f=arguments[1],e=arguments[2],o=arguments[3];if(u===e&&f===o)return null;var s=u.getCoordinates()[f],h=u.getCoordinates()[f+1],c=e.getCoordinates()[o],l=e.getCoordinates()[o+1];if(this.li.computeIntersection(s,h,c,l),this.li.hasIntersection()&&(this.li.isProper()||this.hasInteriorIntersection(this.li,s,h)||this.hasInteriorIntersection(this.li,c,l)))throw new li("found non-noded intersection at "+s+"-"+h+" and "+c+"-"+l);}},checkValid:function(){this.checkEndPtVertexIntersections();this.checkInteriorIntersections();this.checkCollapses()},checkCollapses:function(){var n,i;if(0===arguments.length)for(n=this.segStrings.iterator();n.hasNext();)i=n.next(),this.checkCollapses(i);else if(1===arguments.length)for(var r=arguments[0],t=r.getCoordinates(),n=0;n<t.length-2;n++)this.checkCollapse(t[n],t[n+1],t[n+2])},hasInteriorIntersection:function(n,t,i){for(var u,r=0;r<n.getIntersectionNum();r++)if(u=n.getIntersection(r),!u.equals(t)&&!u.equals(i))return!0;return!1},checkCollapse:function(n,t,i){if(n.equals(i))throw new li("found non-noded collapse at "+ll.fact.createLineString([n,t,i]));},interfaces_:function(){return[]},getClass:function(){return ll}});ll.fact=new g;t(ch.prototype,{intersectsScaled:function(n,t){var u=Math.min(n.x,t.x),f=Math.max(n.x,t.x),e=Math.min(n.y,t.y),o=Math.max(n.y,t.y),r=this.maxx<u||this.minx>f||this.maxy<e||this.miny>o,i;return r?!1:(i=this.intersectsToleranceSquare(n,t),c.isTrue(!(r&&i),"Found bad envelope test"),i)},initCorners:function(n){this.minx=n.x-.5;this.maxx=n.x+.5;this.miny=n.y-.5;this.maxy=n.y+.5;this.corner[0]=new r(this.maxx,this.maxy);this.corner[1]=new r(this.minx,this.maxy);this.corner[2]=new r(this.minx,this.miny);this.corner[3]=new r(this.maxx,this.miny)},intersects:function(n,t){return 1===this.scaleFactor?this.intersectsScaled(n,t):(this.copyScaled(n,this.p0Scaled),this.copyScaled(t,this.p1Scaled),this.intersectsScaled(this.p0Scaled,this.p1Scaled))},scale:function(n){return Math.round(n*this.scaleFactor)},getCoordinate:function(){return this.originalPt},copyScaled:function(n,t){t.x=this.scale(n.x);t.y=this.scale(n.y)},getSafeEnvelope:function(){if(null===this.safeEnv){var n=ch.SAFE_ENV_EXPANSION_FACTOR/this.scaleFactor;this.safeEnv=new p(this.originalPt.x-n,this.originalPt.x+n,this.originalPt.y-n,this.originalPt.y+n)}return this.safeEnv},intersectsPixelClosure:function(n,t){return this.li.computeIntersection(n,t,this.corner[0],this.corner[1]),!!this.li.hasIntersection()||(this.li.computeIntersection(n,t,this.corner[1],this.corner[2]),!!this.li.hasIntersection()||(this.li.computeIntersection(n,t,this.corner[2],this.corner[3]),!!this.li.hasIntersection()||(this.li.computeIntersection(n,t,this.corner[3],this.corner[0]),!!this.li.hasIntersection())))},intersectsToleranceSquare:function(n,t){var i=!1,r=!1;return this.li.computeIntersection(n,t,this.corner[0],this.corner[1]),!!this.li.isProper()||(this.li.computeIntersection(n,t,this.corner[1],this.corner[2]),!!this.li.isProper()||(this.li.hasIntersection()&&(i=!0),this.li.computeIntersection(n,t,this.corner[2],this.corner[3]),!!this.li.isProper()||(this.li.hasIntersection()&&(r=!0),this.li.computeIntersection(n,t,this.corner[3],this.corner[0]),!!this.li.isProper()||!(!i||!r)||!!n.equals(this.pt)||!!t.equals(this.pt))))},addSnappedNode:function(n,t){var i=n.getCoordinate(t),r=n.getCoordinate(t+1);return!!this.intersects(i,r)&&(n.addIntersection(this.getCoordinate(),t),!0)},interfaces_:function(){return[]},getClass:function(){return ch}});ch.SAFE_ENV_EXPANSION_FACTOR=.75;t(uy.prototype,{snap:function(){var n;if(1===arguments.length)return n=arguments[0],this.snap(n,null,-1);if(3===arguments.length){var t=arguments[0],u=arguments[1],f=arguments[2],i=t.getSafeEnvelope(),r=new al(t,u,f);return this.index.query(i,{interfaces_:function(){return[no]},visitItem:function(n){n.select(i,r)}}),r.isNodeAdded()}},interfaces_:function(){return[]},getClass:function(){return uy}});y(al,eo);t(al.prototype,{isNodeAdded:function(){return this._isNodeAdded},select:function(){if(2!==arguments.length)return eo.prototype.select.apply(this,arguments);var i=arguments[0],n=arguments[1],t=i.getContext();if(null!==this.parentEdge&&t===this.parentEdge&&n===this.hotPixelVertexIndex)return null;this._isNodeAdded=this.hotPixel.addSnappedNode(t,n)},interfaces_:function(){return[]},getClass:function(){return al}});uy.HotPixelSnapAction=al;t(ww.prototype,{processIntersections:function(n,t,i,r){var u;if(n===i&&t===r)return null;var f=n.getCoordinates()[t],e=n.getCoordinates()[t+1],o=i.getCoordinates()[r],s=i.getCoordinates()[r+1];if(this.li.computeIntersection(f,e,o,s),this.li.hasIntersection()&&this.li.isInteriorIntersection()){for(u=0;u<this.li.getIntersectionNum();u++)this.interiorIntersections.add(this.li.getIntersection(u));n.addIntersections(this.li,t,0);i.addIntersections(this.li,r,1)}},isDone:function(){return!1},getInteriorIntersections:function(){return this.interiorIntersections},interfaces_:function(){return[yc]},getClass:function(){return ww}});t(bw.prototype,{checkCorrectness:function(n){var t=ff.getNodedSubstrings(n),i=new ll(t);try{i.checkValid()}catch(n){if(!(n instanceof la))throw n;n.printStackTrace()}},getNodedSubstrings:function(){return ff.getNodedSubstrings(this.nodedSegStrings)},snapRound:function(n,t){var i=this.findInteriorIntersections(n,t);this.computeIntersectionSnaps(i);this.computeVertexSnaps(n)},findInteriorIntersections:function(n,t){var i=new ww(t);return this.noder.setSegmentIntersector(i),this.noder.computeNodes(n),i.getInteriorIntersections()},computeVertexSnaps:function(){var u,t,f,e,o;if(l(arguments[0],yt))for(u=arguments[0],t=u.iterator();t.hasNext();)f=t.next(),this.computeVertexSnaps(f);else if(arguments[0]instanceof ff)for(var i=arguments[0],r=i.getCoordinates(),n=0;n<r.length;n++)e=new ch(r[n],this.scaleFactor,this.li),o=this.pointSnapper.snap(e,i,n),o&&i.addIntersection(r[n],n)},computeNodes:function(n){this.nodedSegStrings=n;this.noder=new to;this.pointSnapper=new uy(this.noder.getIndex());this.snapRound(n,this.li)},computeIntersectionSnaps:function(n){for(var i,r,t=n.iterator();t.hasNext();)i=t.next(),r=new ch(i,this.scaleFactor,this.li),this.pointSnapper.snap(r)},interfaces_:function(){return[ac]},getClass:function(){return bw}});t(pi.prototype,{bufferFixedPrecision:function(n){var i=new fl(new bw(new et(1)),n.getScale()),t=new co(this.bufParams);t.setWorkingPrecisionModel(n);t.setNoder(i);this.resultGeometry=t.buffer(this.argGeom,this.distance)},bufferReducedPrecision:function(){var n;if(0===arguments.length){for(n=pi.MAX_PRECISION_DIGITS;n>=0;n--){try{this.bufferReducedPrecision(n)}catch(n){if(!(n instanceof vr))throw n;this.saveException=n}if(null!==this.resultGeometry)return null}throw this.saveException;}if(1===arguments.length){var t=arguments[0],i=pi.precisionScaleFactor(this.argGeom,this.distance,t),r=new et(i);this.bufferFixedPrecision(r)}},computeGeometry:function(){if(this.bufferOriginalPrecision(),null!==this.resultGeometry)return null;var n=this.argGeom.getFactory().getPrecisionModel();n.getType()===et.FIXED?this.bufferFixedPrecision(n):this.bufferReducedPrecision()},setQuadrantSegments:function(n){this.bufParams.setQuadrantSegments(n)},bufferOriginalPrecision:function(){try{var n=new co(this.bufParams);this.resultGeometry=n.buffer(this.argGeom,this.distance)}catch(n){if(!(n instanceof li))throw n;this.saveException=n}},getResultGeometry:function(n){return this.distance=n,this.computeGeometry(),this.resultGeometry},setEndCapStyle:function(n){this.bufParams.setEndCapStyle(n)},interfaces_:function(){return[]},getClass:function(){return pi}});pi.bufferOp=function(){var t;if(2===arguments.length){var i=arguments[0],r=arguments[1],u=new pi(i),t=u.getResultGeometry(r);return t}if(3===arguments.length){if(Number.isInteger(arguments[2])&&arguments[0]instanceof h&&"number"==typeof arguments[1]){var f=arguments[0],e=arguments[1],o=arguments[2],n=new pi(f);return n.setQuadrantSegments(o),n.getResultGeometry(e)}if(arguments[2]instanceof rt&&arguments[0]instanceof h&&"number"==typeof arguments[1]){var s=arguments[0],c=arguments[1],l=arguments[2],n=new pi(s,l),t=n.getResultGeometry(c);return t}}else if(4===arguments.length){var a=arguments[0],v=arguments[1],y=arguments[2],p=arguments[3],n=new pi(a);return n.setQuadrantSegments(y),n.setEndCapStyle(p),n.getResultGeometry(v)}};pi.precisionScaleFactor=function(n,t,i){var r=n.getEnvelopeInternal(),u=kr.max(Math.abs(r.getMaxX()),Math.abs(r.getMaxY()),Math.abs(r.getMinX()),Math.abs(r.getMinY())),f=t>0?t:0,e=u+2*f,o=Math.trunc(Math.log(e)/Math.log(10)+1),s=i-o;return Math.pow(10,s)};pi.CAP_ROUND=rt.CAP_ROUND;pi.CAP_BUTT=rt.CAP_FLAT;pi.CAP_FLAT=rt.CAP_FLAT;pi.CAP_SQUARE=rt.CAP_SQUARE;pi.MAX_PRECISION_DIGITS=12;fk=Object.freeze({BufferOp:pi,BufferParameters:rt});t(cs.prototype,{filter:function(n){n instanceof ht&&this.comps.add(n)},interfaces_:function(){return[df]},getClass:function(){return cs}});cs.getPolygons=function(){var i,n,t;return 1===arguments.length?(i=arguments[0],cs.getPolygons(i,new u)):2===arguments.length?(n=arguments[0],t=arguments[1],n instanceof ht?t.add(n):n instanceof nt&&n.apply(new cs(t)),t):void 0};t(wr.prototype,{isInsideArea:function(){return this.segIndex===wr.INSIDE_AREA},getCoordinate:function(){return this.pt},getGeometryComponent:function(){return this.component},getSegmentIndex:function(){return this.segIndex},interfaces_:function(){return[]},getClass:function(){return wr}});wr.INSIDE_AREA=-1;t(ls.prototype,{filter:function(n){n instanceof bt&&this.pts.add(n)},interfaces_:function(){return[df]},getClass:function(){return ls}});ls.getPoints=function(){var t,n,i;return 1===arguments.length?(t=arguments[0],t instanceof bt?rf.singletonList(t):ls.getPoints(t,new u)):2===arguments.length?(n=arguments[0],i=arguments[1],n instanceof bt?i.add(n):n instanceof nt&&n.apply(new ls(i)),i):void 0};t(vl.prototype,{filter:function(n){(n instanceof bt||n instanceof d||n instanceof ht)&&this.locations.add(new wr(n,0,n.getCoordinate()))},interfaces_:function(){return[df]},getClass:function(){return vl}});vl.getLocations=function(n){var t=new u;return n.apply(new vl(t)),t};t(gu.prototype,{computeContainmentDistance:function(){var t,s,a,n;if(0===arguments.length){if(t=new Array(2).fill(null),this.computeContainmentDistance(0,t),this.minDistance<=this.terminateDistance)return null;this.computeContainmentDistance(1,t)}else if(2===arguments.length){var r=arguments[0],u=arguments[1],e=1-r,o=cs.getPolygons(this.geom[r]);if(o.size()>0&&(s=vl.getLocations(this.geom[e]),this.computeContainmentDistance(s,o,u),this.minDistance<=this.terminateDistance))return this.minDistanceLocation[e]=u[0],this.minDistanceLocation[r]=u[1],null}else if(3===arguments.length)if(arguments[2]instanceof Array&&l(arguments[0],ei)&&l(arguments[1],ei)){for(var h=arguments[0],c=arguments[1],b=arguments[2],f=0;f<h.size();f++)for(a=h.get(f),n=0;n<c.size();n++)if(this.computeContainmentDistance(a,c.get(n),b),this.minDistance<=this.terminateDistance)return null}else if(arguments[2]instanceof Array&&arguments[0]instanceof wr&&arguments[1]instanceof ht){var v=arguments[0],y=arguments[1],p=arguments[2],w=v.getCoordinate();if(i.EXTERIOR!==this.ptLocator.locate(w,y))return this.minDistance=0,p[0]=v,p[1]=new wr(y,w),null}},computeMinDistanceLinesPoints:function(n,t,i){for(var f,u,e,r=0;r<n.size();r++)for(f=n.get(r),u=0;u<t.size();u++)if(e=t.get(u),this.computeMinDistance(f,e,i),this.minDistance<=this.terminateDistance)return null},computeFacetDistance:function(){var n=new Array(2).fill(null),t=bi.getLines(this.geom[0]),i=bi.getLines(this.geom[1]),r=ls.getPoints(this.geom[0]),u=ls.getPoints(this.geom[1]);return this.computeMinDistanceLines(t,i,n),this.updateMinDistance(n,!1),this.minDistance<=this.terminateDistance?null:(n[0]=null,n[1]=null,this.computeMinDistanceLinesPoints(t,u,n),this.updateMinDistance(n,!1),this.minDistance<=this.terminateDistance?null:(n[0]=null,n[1]=null,this.computeMinDistanceLinesPoints(i,r,n),this.updateMinDistance(n,!0),this.minDistance<=this.terminateDistance?null:(n[0]=null,n[1]=null,this.computeMinDistancePoints(r,u,n),void this.updateMinDistance(n,!1))))},nearestLocations:function(){return this.computeMinDistance(),this.minDistanceLocation},updateMinDistance:function(n,t){if(null===n[0])return null;t?(this.minDistanceLocation[0]=n[1],this.minDistanceLocation[1]=n[0]):(this.minDistanceLocation[0]=n[0],this.minDistanceLocation[1]=n[1])},nearestPoints:function(){return this.computeMinDistance(),[this.minDistanceLocation[0].getCoordinate(),this.minDistanceLocation[1].getCoordinate()]},computeMinDistance:function(){var a,v,i,r;if(0===arguments.length){if(null!==this.minDistanceLocation||(this.minDistanceLocation=new Array(2).fill(null),this.computeContainmentDistance(),this.minDistance<=this.terminateDistance))return null;this.computeFacetDistance()}else if(3===arguments.length)if(arguments[2]instanceof Array&&arguments[0]instanceof d&&arguments[1]instanceof bt){var f=arguments[0],e=arguments[1],l=arguments[2];if(f.getEnvelopeInternal().distance(e.getEnvelopeInternal())>this.minDistance)return null;for(var t=f.getCoordinates(),o=e.getCoordinate(),n=0;n<t.length-1;n++)if(r=s.distancePointLine(o,t[n],t[n+1]),r<this.minDistance&&(this.minDistance=r,a=new b(t[n],t[n+1]),v=a.closestPoint(o),l[0]=new wr(f,n,v),l[1]=new wr(e,0,o)),this.minDistance<=this.terminateDistance)return null}else if(arguments[2]instanceof Array&&arguments[0]instanceof d&&arguments[1]instanceof d){var h=arguments[0],c=arguments[1],y=arguments[2];if(h.getEnvelopeInternal().distance(c.getEnvelopeInternal())>this.minDistance)return null;for(var t=h.getCoordinates(),u=c.getCoordinates(),n=0;n<t.length-1;n++)for(i=0;i<u.length-1;i++){if(r=s.distanceLineLine(t[n],t[n+1],u[i],u[i+1]),r<this.minDistance){this.minDistance=r;var w=new b(t[n],t[n+1]),k=new b(u[i],u[i+1]),p=w.closestPoints(k);y[0]=new wr(h,n,p[0]);y[1]=new wr(c,i,p[1])}if(this.minDistance<=this.terminateDistance)return null}}},computeMinDistancePoints:function(n,t,i){for(var u,f,e,o,r=0;r<n.size();r++)for(u=n.get(r),f=0;f<t.size();f++)if(e=t.get(f),o=u.getCoordinate().distance(e.getCoordinate()),o<this.minDistance&&(this.minDistance=o,i[0]=new wr(u,0,u.getCoordinate()),i[1]=new wr(e,0,e.getCoordinate())),this.minDistance<=this.terminateDistance)return null},distance:function(){if(null===this.geom[0]||null===this.geom[1])throw new ft("null geometries are not supported");return this.geom[0].isEmpty()||this.geom[1].isEmpty()?0:(this.computeMinDistance(),this.minDistance)},computeMinDistanceLines:function(n,t,i){for(var f,u,e,r=0;r<n.size();r++)for(f=n.get(r),u=0;u<t.size();u++)if(e=t.get(u),this.computeMinDistance(f,e,i),this.minDistance<=this.terminateDistance)return null},interfaces_:function(){return[]},getClass:function(){return gu}});gu.distance=function(n,t){return new gu(n,t).distance()};gu.isWithinDistance=function(n,t,i){return new gu(n,t,i).distance()<=i};gu.nearestPoints=function(n,t){return new gu(n,t).nearestPoints()};ek=Object.freeze({DistanceOp:gu});t(kw.prototype,{getCoordinates:function(){var n;if(null===this.coordinates){for(var t=0,i=0,r=new gt,u=this.directedEdges.iterator();u.hasNext();)n=u.next(),n.getEdgeDirection()?t++:i++,r.add(n.getEdge().getLine().getCoordinates(),!1,n.getEdgeDirection());this.coordinates=r.toCoordinateArray();i>t&&w.reverse(this.coordinates)}return this.coordinates},toLineString:function(){return this.factory.createLineString(this.getCoordinates())},add:function(n){this.directedEdges.add(n)},interfaces_:function(){return[]},getClass:function(){return kw}});t(lu.prototype,{setVisited:function(n){this._isVisited=n},isMarked:function(){return this._isMarked},setData:function(n){this.data=n},getData:function(){return this.data},setMarked:function(n){this._isMarked=n},getContext:function(){return this.data},isVisited:function(){return this._isVisited},setContext:function(n){this.data=n},interfaces_:function(){return[]},getClass:function(){return lu}});lu.getComponentWithVisitedState=function(n,t){for(;n.hasNext();){var i=n.next();if(i.isVisited()===t)return i}return null};lu.setVisited=function(n,t){for(;n.hasNext();)n.next().setVisited(t)};lu.setMarked=function(n,t){for(;n.hasNext();)n.next().setMarked(t)};y(ru,lu);t(ru.prototype,{isRemoved:function(){return null===this.parentEdge},compareDirection:function(n){return this.quadrant>n.quadrant?1:this.quadrant<n.quadrant?-1:s.computeOrientation(n.p0,n.p1,this.p1)},getCoordinate:function(){return this.from.getCoordinate()},print:function(n){var t=this.getClass().getName(),i=t.lastIndexOf("."),r=t.substring(i+1);n.print("  "+r+": "+this.p0+" - "+this.p1+" "+this.quadrant+":"+this.angle)},getDirectionPt:function(){return this.p1},getAngle:function(){return this.angle},compareTo:function(n){var t=n;return this.compareDirection(t)},getFromNode:function(){return this.from},getSym:function(){return this.sym},setEdge:function(n){this.parentEdge=n},remove:function(){this.sym=null;this.parentEdge=null},getEdge:function(){return this.parentEdge},getQuadrant:function(){return this.quadrant},setSym:function(n){this.sym=n},getToNode:function(){return this.to},getEdgeDirection:function(){return this.edgeDirection},interfaces_:function(){return[ur]},getClass:function(){return ru}});ru.toEdges=function(n){for(var t=new u,i=n.iterator();i.hasNext();)t.add(i.next().parentEdge);return t};y(yl,ru);t(yl.prototype,{getNext:function(){return 2!==this.getToNode().getDegree()?null:this.getToNode().getOutEdges().getEdges().get(0)===this.getSym()?this.getToNode().getOutEdges().getEdges().get(1):(c.isTrue(this.getToNode().getOutEdges().getEdges().get(1)===this.getSym()),this.getToNode().getOutEdges().getEdges().get(0))},interfaces_:function(){return[]},getClass:function(){return yl}});y(lf,lu);t(lf.prototype,{isRemoved:function(){return null===this.dirEdge},setDirectedEdges:function(n,t){this.dirEdge=[n,t];n.setEdge(this);t.setEdge(this);n.setSym(t);t.setSym(n);n.getFromNode().addOutEdge(n);t.getFromNode().addOutEdge(t)},getDirEdge:function(){var t,n;return Number.isInteger(arguments[0])?(t=arguments[0],this.dirEdge[t]):arguments[0]instanceof se?(n=arguments[0],this.dirEdge[0].getFromNode()===n?this.dirEdge[0]:this.dirEdge[1].getFromNode()===n?this.dirEdge[1]:null):void 0},remove:function(){this.dirEdge=null},getOppositeNode:function(n){return this.dirEdge[0].getFromNode()===n?this.dirEdge[0].getToNode():this.dirEdge[1].getFromNode()===n?this.dirEdge[1].getToNode():null},interfaces_:function(){return[]},getClass:function(){return lf}});t(dw.prototype,{getNextEdge:function(n){var t=this.getIndex(n);return this.outEdges.get(this.getIndex(t+1))},getCoordinate:function(){var n=this.iterator();return n.hasNext()?n.next().getCoordinate():null},iterator:function(){return this.sortEdges(),this.outEdges.iterator()},sortEdges:function(){this.sorted||(rf.sort(this.outEdges),this.sorted=!0)},remove:function(n){this.outEdges.remove(n)},getEdges:function(){return this.sortEdges(),this.outEdges},getNextCWEdge:function(n){var t=this.getIndex(n);return this.outEdges.get(this.getIndex(t-1))},getIndex:function(){var r,u,n,t,f,i;if(arguments[0]instanceof lf){for(r=arguments[0],this.sortEdges(),n=0;n<this.outEdges.size();n++)if(t=this.outEdges.get(n),t.getEdge()===r)return n;return-1}if(arguments[0]instanceof ru){for(u=arguments[0],this.sortEdges(),n=0;n<this.outEdges.size();n++)if(t=this.outEdges.get(n),t===u)return n;return-1}if(Number.isInteger(arguments[0]))return f=arguments[0],i=f%this.outEdges.size(),i<0&&(i+=this.outEdges.size()),i},add:function(n){this.outEdges.add(n);this.sorted=!1},getDegree:function(){return this.outEdges.size()},interfaces_:function(){return[]},getClass:function(){return dw}});y(se,lu);t(se.prototype,{isRemoved:function(){return null===this.pt},addOutEdge:function(n){this.deStar.add(n)},getCoordinate:function(){return this.pt},getOutEdges:function(){return this.deStar},remove:function(){if(0===arguments.length)this.pt=null;else if(1===arguments.length){var n=arguments[0];this.deStar.remove(n)}},getIndex:function(n){return this.deStar.getIndex(n)},getDegree:function(){return this.deStar.getDegree()},interfaces_:function(){return[]},getClass:function(){return se}});se.getEdgesBetween=function(n,t){var r=ru.toEdges(n.getOutEdges().getEdges()),i=new ai(r),u=ru.toEdges(t.getOutEdges().getEdges());return i.retainAll(u),i};y(fy,lf);t(fy.prototype,{getLine:function(){return this.line},interfaces_:function(){return[]},getClass:function(){return fy}});t(gw.prototype,{find:function(n){return this.nodeMap.get(n)},iterator:function(){return this.nodeMap.values().iterator()},remove:function(n){return this.nodeMap.remove(n)},values:function(){return this.nodeMap.values()},add:function(n){return this.nodeMap.put(n.getCoordinate(),n),n},interfaces_:function(){return[]},getClass:function(){return gw}});t(lh.prototype,{findNodesOfDegree:function(n){for(var r,t=new u,i=this.nodeIterator();i.hasNext();)r=i.next(),r.getDegree()===n&&t.add(r);return t},dirEdgeIterator:function(){return this.dirEdges.iterator()},edgeIterator:function(){return this.edges.iterator()},remove:function(){var i,t,r,n,f;if(arguments[0]instanceof lf)i=arguments[0],this.remove(i.getDirEdge(0)),this.remove(i.getDirEdge(1)),this.edges.remove(i),i.remove();else if(arguments[0]instanceof ru)t=arguments[0],n=t.getSym(),null!==n&&n.setSym(null),t.getFromNode().remove(t),t.remove(),this.dirEdges.remove(t);else if(arguments[0]instanceof se){for(var u=arguments[0],o=u.getOutEdges().getEdges(),e=o.iterator();e.hasNext();)r=e.next(),n=r.getSym(),null!==n&&this.remove(n),this.dirEdges.remove(r),f=r.getEdge(),null!==f&&this.edges.remove(f);this.nodeMap.remove(u.getCoordinate());u.remove()}},findNode:function(n){return this.nodeMap.find(n)},getEdges:function(){return this.edges},nodeIterator:function(){return this.nodeMap.iterator()},contains:function(){var n,t;return arguments[0]instanceof lf?(n=arguments[0],this.edges.contains(n)):arguments[0]instanceof ru?(t=arguments[0],this.dirEdges.contains(t)):void 0},add:function(){var t,n,i;arguments[0]instanceof se?(t=arguments[0],this.nodeMap.add(t)):arguments[0]instanceof lf?(n=arguments[0],this.edges.add(n),this.add(n.getDirEdge(0)),this.add(n.getDirEdge(1))):arguments[0]instanceof ru&&(i=arguments[0],this.dirEdges.add(i))},getNodes:function(){return this.nodeMap.values()},interfaces_:function(){return[]},getClass:function(){return lh}});y(ey,lh);t(ey.prototype,{addEdge:function(n){var t;if(n.isEmpty()||(t=w.removeRepeatedPoints(n.getCoordinates()),t.length<=1))return null;var f=t[0],e=t[t.length-1],i=this.getNode(f),r=this.getNode(e),o=new yl(i,r,t[1],!0),s=new yl(r,i,t[t.length-2],!1),u=new fy(n);u.setDirectedEdges(o,s);this.add(u)},getNode:function(n){var t=this.findNode(n);return null===t&&(t=new se(n),this.add(t)),t},interfaces_:function(){return[]},getClass:function(){return ey}});t(nb.prototype,{buildEdgeStringsForUnprocessedNodes:function(){for(var n,t=this.graph.getNodes().iterator();t.hasNext();)n=t.next(),n.isMarked()||(c.isTrue(2===n.getDegree()),this.buildEdgeStringsStartingAt(n),n.setMarked(!0))},buildEdgeStringsForNonDegree2Nodes:function(){for(var n,t=this.graph.getNodes().iterator();t.hasNext();)n=t.next(),2!==n.getDegree()&&(this.buildEdgeStringsStartingAt(n),n.setMarked(!0))},buildEdgeStringsForObviousStartNodes:function(){this.buildEdgeStringsForNonDegree2Nodes()},getMergedLineStrings:function(){return this.merge(),this.mergedLineStrings},buildEdgeStringsStartingAt:function(n){for(var i,t=n.getOutEdges().iterator();t.hasNext();)i=t.next(),i.getEdge().isMarked()||this.edgeStrings.add(this.buildEdgeStringStartingWith(i))},merge:function(){var n,t;if(null!==this.mergedLineStrings)return null;for(lu.setMarked(this.graph.nodeIterator(),!1),lu.setMarked(this.graph.edgeIterator(),!1),this.edgeStrings=new u,this.buildEdgeStringsForObviousStartNodes(),this.buildEdgeStringsForIsolatedLoops(),this.mergedLineStrings=new u,n=this.edgeStrings.iterator();n.hasNext();)t=n.next(),this.mergedLineStrings.add(t.toLineString())},buildEdgeStringStartingWith:function(n){var i=new kw(this.factory),t=n;do i.add(t),t.getEdge().setMarked(!0),t=t.getNext();while(null!==t&&t!==n);return i},add:function(){var i,n,r,t;if(arguments[0]instanceof h)arguments[0].apply({interfaces_:function(){return[wu]},filter:function(n){n instanceof d&&this.add(n)}});else if(l(arguments[0],yt))for(i=arguments[0],this.mergedLineStrings=null,n=i.iterator();n.hasNext();)r=n.next(),this.add(r);else arguments[0]instanceof d&&(t=arguments[0],null===this.factory&&(this.factory=t.getFactory()),this.graph.addEdge(t))},buildEdgeStringsForIsolatedLoops:function(){this.buildEdgeStringsForUnprocessedNodes()},interfaces_:function(){return[]},getClass:function(){return nb}});ok=Object.freeze({LineMerger:nb});sk=Object.freeze({OverlayOp:v});y(pl,ru);t(pl.prototype,{getNext:function(){return this.next},isInRing:function(){return null!==this.edgeRing},setRing:function(n){this.edgeRing=n},setLabel:function(n){this.label=n},getLabel:function(){return this.label},setNext:function(n){this.next=n},getRing:function(){return this.edgeRing},interfaces_:function(){return[]},getClass:function(){return pl}});y(oy,lf);t(oy.prototype,{getLine:function(){return this.line},interfaces_:function(){return[]},getClass:function(){return oy}});t(wl.prototype,{visitInteriorRing:function(n,t){var f=n.getCoordinates(),e=f[0],s=wl.findDifferentPoint(f,e),h=t.findEdgeInSameDirection(e,s),r=t.findEdgeEnd(h),u=null;r.getLabel().getLocation(0,o.RIGHT)===i.INTERIOR?u=r:r.getSym().getLabel().getLocation(0,o.RIGHT)===i.INTERIOR&&(u=r.getSym());c.isTrue(null!==u,"unable to find dirEdge with Interior on RHS");this.visitLinkedDirectedEdges(u)},visitShellInteriors:function(n,t){var u,r,i;if(n instanceof ht&&(i=n,this.visitInteriorRing(i.getExteriorRing(),t)),n instanceof vi)for(u=n,r=0;r<u.getNumGeometries();r++)i=u.getGeometryN(r),this.visitInteriorRing(i.getExteriorRing(),t)},getCoordinate:function(){return this.disconnectedRingcoord},setInteriorEdgesInResult:function(n){for(var r,t=n.getEdgeEnds().iterator();t.hasNext();)r=t.next(),r.getLabel().getLocation(0,o.RIGHT)===i.INTERIOR&&r.setInResult(!0)},visitLinkedDirectedEdges:function(n){var i=n,t=n;do c.isTrue(null!==t,"found null Directed Edge"),t.setVisited(!0),t=t.getNext();while(t!==i)},buildEdgeRings:function(n){for(var t,f,e,i=new u,r=n.iterator();r.hasNext();)t=r.next(),t.isInResult()&&null===t.getEdgeRing()&&(f=new wc(t,this.geometryFactory),f.linkDirectedEdgesForMinimalEdgeRings(),e=f.buildMinimalRings(),i.addAll(e));return i},hasUnvisitedShellEdge:function(n){for(var e,u,t,f,r=0;r<n.size();r++)if(e=n.get(r),!e.isHole()&&(u=e.getEdges(),t=u.get(0),t.getLabel().getLocation(0,o.RIGHT)===i.INTERIOR))for(f=0;f<u.size();f++)if(t=u.get(f),!t.isVisited())return this.disconnectedRingcoord=t.getCoordinate(),!0;return!1},isInteriorsConnected:function(){var t=new u,n,i;return this.geomGraph.computeSplitEdges(t),n=new of(new fh),n.addEdges(t),this.setInteriorEdgesInResult(n),n.linkResultDirectedEdges(),i=this.buildEdgeRings(n.getEdgeEnds()),this.visitShellInteriors(this.geomGraph.getGeometry(),n),!this.hasUnvisitedShellEdge(i)},interfaces_:function(){return[]},getClass:function(){return wl}});wl.findDifferentPoint=function(n,t){for(var i=0;i<n.length;i++)if(!n[i].equals(t))return n[i];return null};t(sy.prototype,{createEdgeEndForNext:function(n,t,i,r){var f=i.segmentIndex+1,u,e;if(f>=n.getNumPoints()&&null===r)return null;u=n.getCoordinate(f);null!==r&&r.segmentIndex===i.segmentIndex&&(u=r.coord);e=new ef(n,i.coord,u,new ii(n.getLabel()));t.add(e)},createEdgeEndForPrev:function(n,t,i,r){var u=i.segmentIndex,f,e,o;if(0===i.dist){if(0===u)return null;u--}f=n.getCoordinate(u);null!==r&&r.segmentIndex>=u&&(f=r.coord);e=new ii(n.getLabel());e.flip();o=new ef(n,i.coord,f,e);t.add(o)},computeEdgeEnds:function(){var o,t;if(1===arguments.length){for(var l=arguments[0],f=new u,e=l;e.hasNext();)o=e.next(),this.computeEdgeEnds(o,f);return f}if(2===arguments.length){var r=arguments[0],s=arguments[1],h=r.getEdgeIntersectionList();h.addEndpoints();var i=h.iterator(),c=null,n=null;if(!i.hasNext())return null;t=i.next();do c=n,n=t,t=null,i.hasNext()&&(t=i.next()),null!==n&&(this.createEdgeEndForPrev(r,s,n,c),this.createEdgeEndForNext(r,s,n,t));while(null!==n)}},interfaces_:function(){return[]},getClass:function(){return sy}});y(bl,ef);t(bl.prototype,{insert:function(n){this.edgeEnds.add(n)},print:function(n){n.println("EdgeEndBundle--> Label: "+this.label);for(var t=this.iterator();t.hasNext();)t.next().print(n),n.println()},iterator:function(){return this.edgeEnds.iterator()},getEdgeEnds:function(){return this.edgeEnds},computeLabelOn:function(n,t){for(var o,r,u=0,f=!1,e=this.iterator();e.hasNext();)o=e.next(),r=o.getLabel().getLocation(n),r===i.BOUNDARY&&u++,r===i.INTERIOR&&(f=!0);r=i.NONE;f&&(r=i.INTERIOR);u>0&&(r=cr.determineBoundary(t,u));this.label.setLocation(n,r)},computeLabelSide:function(n,t){for(var u,f,r=this.iterator();r.hasNext();)if(u=r.next(),u.getLabel().isArea()){if(f=u.getLabel().getLocation(n,t),f===i.INTERIOR)return this.label.setLocation(n,t,i.INTERIOR),null;f===i.EXTERIOR&&this.label.setLocation(n,t,i.EXTERIOR)}},getLabel:function(){return this.label},computeLabelSides:function(n){this.computeLabelSide(n,o.LEFT);this.computeLabelSide(n,o.RIGHT)},updateIM:function(n){hu.updateIM(this.label,n)},computeLabel:function(n){for(var t,r=!1,u=this.iterator();u.hasNext();)u.next().getLabel().isArea()&&(r=!0);for(this.label=r?new ii(i.NONE,i.NONE,i.NONE):new ii(i.NONE),t=0;t<2;t++)this.computeLabelOn(t,n),r&&this.computeLabelSides(t)},interfaces_:function(){return[]},getClass:function(){return bl}});y(hy,es);t(hy.prototype,{updateIM:function(n){for(var t=this.iterator();t.hasNext();)t.next().updateIM(n)},insert:function(n){var t=this.edgeMap.get(n);null===t?(t=new bl(n),this.insertEdgeEnd(n,t)):t.insert(n)},interfaces_:function(){return[]},getClass:function(){return hy}});y(cy,ue);t(cy.prototype,{updateIMFromEdges:function(n){this.edges.updateIM(n)},computeIM:function(n){n.setAtLeastIfValid(this.label.getLocation(0),this.label.getLocation(1),0)},interfaces_:function(){return[]},getClass:function(){return cy}});y(kl,fs);t(kl.prototype,{createNode:function(n){return new cy(n,new hy)},interfaces_:function(){return[]},getClass:function(){return kl}});t(tb.prototype,{insertEdgeEnds:function(n){for(var i,t=n.iterator();t.hasNext();)i=t.next(),this.nodes.add(i)},getNodeIterator:function(){return this.nodes.iterator()},copyNodesAndLabels:function(n,t){for(var r,i=n.getNodeIterator();i.hasNext();)r=i.next(),this.nodes.addNode(r.getCoordinate()).setLabel(t,r.getLabel().getLocation(t))},build:function(n){this.computeIntersectionNodes(n,0);this.copyNodesAndLabels(n,0);var t=new sy,i=t.computeEdgeEnds(n.getEdgeIterator());this.insertEdgeEnds(i)},computeIntersectionNodes:function(n,t){for(var o,r,u=n.getEdgeIterator();u.hasNext();)for(var f=u.next(),s=f.getLabel().getLocation(t),e=f.getEdgeIntersectionList().iterator();e.hasNext();)o=e.next(),r=this.nodes.addNode(o.coord),s===i.BOUNDARY?r.setLabelBoundary(t):r.getLabel().isNull(t)&&r.setLabel(t,i.INTERIOR)},interfaces_:function(){return[]},getClass:function(){return tb}});t(ly.prototype,{isNodeEdgeAreaLabelsConsistent:function(){for(var t,n=this.nodeGraph.getNodeIterator();n.hasNext();)if(t=n.next(),!t.getEdges().isAreaLabelsConsistent(this.geomGraph))return this.invalidPoint=t.getCoordinate().copy(),!1;return!0},getInvalidPoint:function(){return this.invalidPoint},hasDuplicateRings:function(){for(var r,t,i,n=this.nodeGraph.getNodeIterator();n.hasNext();)for(r=n.next(),t=r.getEdges().iterator();t.hasNext();)if(i=t.next(),i.getEdgeEnds().size()>1)return this.invalidPoint=i.getEdge().getCoordinate(0),!0;return!1},isNodeConsistentArea:function(){var n=this.geomGraph.computeSelfNodes(this.li,!0,!0);return n.hasProperIntersection()?(this.invalidPoint=n.getProperIntersectionPoint(),!1):(this.nodeGraph.build(this.geomGraph),this.isNodeEdgeAreaLabelsConsistent())},interfaces_:function(){return[]},getClass:function(){return ly}});t(ib.prototype,{buildIndex:function(){var n,t,i;for(this.index=new kt,n=0;n<this.rings.size();n++)t=this.rings.get(n),i=t.getEnvelopeInternal(),this.index.insert(i,t)},getNestedPoint:function(){return this.nestedPt},isNonNested:function(){var t,n,e,r,o;for(this.buildIndex(),t=0;t<this.rings.size();t++)for(var i=this.rings.get(t),h=i.getCoordinates(),f=this.index.query(i.getEnvelopeInternal()),u=0;u<f.size();u++)if(n=f.get(u),e=n.getCoordinates(),i!==n&&i.getEnvelopeInternal().intersects(n.getEnvelopeInternal())&&(r=uu.findPtNotNode(h,n,this.graph),null!==r&&(o=s.isPointInRing(r,e),o)))return this.nestedPt=r,!1;return!0},add:function(n){this.rings.add(n);this.totalEnv.expandToInclude(n.getEnvelopeInternal())},interfaces_:function(){return[]},getClass:function(){return ib}});t(tt.prototype,{getErrorType:function(){return this.errorType},getMessage:function(){return tt.errMsg[this.errorType]},getCoordinate:function(){return this.pt},toString:function(){var n="";return null!==this.pt&&(n=" at or near point "+this.pt),this.getMessage()+n},interfaces_:function(){return[]},getClass:function(){return tt}});tt.ERROR=0;tt.REPEATED_POINT=1;tt.HOLE_OUTSIDE_SHELL=2;tt.NESTED_HOLES=3;tt.DISCONNECTED_INTERIOR=4;tt.SELF_INTERSECTION=5;tt.RING_SELF_INTERSECTION=6;tt.NESTED_SHELLS=7;tt.DUPLICATE_RINGS=8;tt.TOO_FEW_POINTS=9;tt.INVALID_COORDINATE=10;tt.RING_NOT_CLOSED=11;tt.errMsg=["Topology Validation Error","Repeated Point","Hole lies outside shell","Holes are nested","Interior is disconnected","Self-intersection","Ring Self-intersection","Nested shells","Duplicate Rings","Too few distinct points in geometry component","Invalid Coordinate","Ring is not closed"];t(uu.prototype,{checkInvalidCoordinates:function(){var t,i,n;if(arguments[0]instanceof Array){for(t=arguments[0],n=0;n<t.length;n++)if(!uu.isValid(t[n]))return this.validErr=new tt(tt.INVALID_COORDINATE,t[n]),null}else if(arguments[0]instanceof ht){if(i=arguments[0],this.checkInvalidCoordinates(i.getExteriorRing().getCoordinates()),null!==this.validErr)return null;for(n=0;n<i.getNumInteriorRing();n++)if(this.checkInvalidCoordinates(i.getInteriorRingN(n).getCoordinates()),null!==this.validErr)return null}},checkHolesNotNested:function(n,t){for(var u,i=new ib(t),r=0;r<n.getNumInteriorRing();r++)u=n.getInteriorRingN(r),i.add(u);i.isNonNested()||(this.validErr=new tt(tt.NESTED_HOLES,i.getNestedPoint()))},checkConsistentArea:function(n){var t=new ly(n);if(!t.isNodeConsistentArea())return this.validErr=new tt(tt.SELF_INTERSECTION,t.getInvalidPoint()),null;t.hasDuplicateRings()&&(this.validErr=new tt(tt.DUPLICATE_RINGS,t.getInvalidPoint()))},isValid:function(){return this.checkValid(this.parentGeometry),null===this.validErr},checkShellInsideHole:function(n,t,i){var f=n.getCoordinates(),e=t.getCoordinates(),u=uu.findPtNotNode(f,t,i),r;return null!==u&&!s.isPointInRing(u,e)?u:(r=uu.findPtNotNode(e,n,i),null!==r)?s.isPointInRing(r,f)?r:null:(c.shouldNeverReachHere("points in shell and hole appear to be equal"),null)},checkNoSelfIntersectingRings:function(n){for(var i,t=n.getEdgeIterator();t.hasNext();)if(i=t.next(),this.checkNoSelfIntersectingRing(i.getEdgeIntersectionList()),null!==this.validErr)return null},checkConnectedInteriors:function(n){var t=new wl(n);t.isInteriorsConnected()||(this.validErr=new tt(tt.DISCONNECTED_INTERIOR,t.getCoordinate()))},checkNoSelfIntersectingRing:function(n){for(var t,i=new gi,r=!0,u=n.iterator();u.hasNext();)if(t=u.next(),r)r=!1;else{if(i.contains(t.coord))return this.validErr=new tt(tt.RING_SELF_INTERSECTION,t.coord),null;i.add(t.coord)}},checkHolesInShell:function(n,t){for(var f,i,u=n.getExteriorRing(),e=new gc(u),r=0;r<n.getNumInteriorRing();r++){if(f=n.getInteriorRingN(r),i=uu.findPtNotNode(f.getCoordinates(),u,t),null===i)return null;if(!e.isInside(i))return this.validErr=new tt(tt.HOLE_OUTSIDE_SHELL,i),null}},checkTooFewPoints:function(n){if(n.hasTooFewPoints())return this.validErr=new tt(tt.TOO_FEW_POINTS,n.getInvalidPoint()),null},getValidationError:function(){return this.checkValid(this.parentGeometry),this.validErr},checkValid:function(){var c,l,e,a,o,f,r,n,u,s,t,v,i;if(arguments[0]instanceof bt)c=arguments[0],this.checkInvalidCoordinates(c.getCoordinates());else if(arguments[0]instanceof ar)l=arguments[0],this.checkInvalidCoordinates(l.getCoordinates());else if(arguments[0]instanceof ni){if((e=arguments[0],this.checkInvalidCoordinates(e.getCoordinates()),null!==this.validErr)||(this.checkClosedRing(e),null!==this.validErr)||(n=new cr(0,e),this.checkTooFewPoints(n),null!==this.validErr))return null;a=new si;n.computeSelfNodes(a,!0,!0);this.checkNoSelfIntersectingRings(n)}else if(arguments[0]instanceof d){if(o=arguments[0],this.checkInvalidCoordinates(o.getCoordinates()),null!==this.validErr)return null;n=new cr(0,o);this.checkTooFewPoints(n)}else if(arguments[0]instanceof ht){if((f=arguments[0],this.checkInvalidCoordinates(f),null!==this.validErr)||(this.checkClosedRings(f),null!==this.validErr)||(n=new cr(0,f),this.checkTooFewPoints(n),null!==this.validErr)||(this.checkConsistentArea(n),null!==this.validErr)||!this.isSelfTouchingRingFormingHoleValid&&(this.checkNoSelfIntersectingRings(n),null!==this.validErr)||(this.checkHolesInShell(f,n),null!==this.validErr)||(this.checkHolesNotNested(f,n),null!==this.validErr))return null;this.checkConnectedInteriors(n)}else if(arguments[0]instanceof vi){for(r=arguments[0],t=0;t<r.getNumGeometries();t++)if((u=r.getGeometryN(t),this.checkInvalidCoordinates(u),null!==this.validErr)||(this.checkClosedRings(u),null!==this.validErr))return null;if((n=new cr(0,r),this.checkTooFewPoints(n),null!==this.validErr)||(this.checkConsistentArea(n),null!==this.validErr)||!this.isSelfTouchingRingFormingHoleValid&&(this.checkNoSelfIntersectingRings(n),null!==this.validErr))return null;for(t=0;t<r.getNumGeometries();t++)if(u=r.getGeometryN(t),this.checkHolesInShell(u,n),null!==this.validErr)return null;for(t=0;t<r.getNumGeometries();t++)if(u=r.getGeometryN(t),this.checkHolesNotNested(u,n),null!==this.validErr)return null;if(this.checkShellsNotNested(r,n),null!==this.validErr)return null;this.checkConnectedInteriors(n)}else if(arguments[0]instanceof nt){for(s=arguments[0],t=0;t<s.getNumGeometries();t++)if(v=s.getGeometryN(t),this.checkValid(v),null!==this.validErr)return null}else if(arguments[0]instanceof h){if(i=arguments[0],this.validErr=null,i.isEmpty())return null;if(i instanceof bt)this.checkValid(i);else if(i instanceof ar)this.checkValid(i);else if(i instanceof ni)this.checkValid(i);else if(i instanceof d)this.checkValid(i);else if(i instanceof ht)this.checkValid(i);else if(i instanceof vi)this.checkValid(i);else{if(!(i instanceof nt))throw new UnsupportedOperationException(i.getClass().getName());this.checkValid(i)}}},setSelfTouchingRingFormingHoleValid:function(n){this.isSelfTouchingRingFormingHoleValid=n},checkShellNotNested:function(n,t,i){var h=n.getCoordinates(),e=t.getExteriorRing(),c=e.getCoordinates(),u=uu.findPtNotNode(h,e,i),f,r,o;if(null===u||!s.isPointInRing(u,c))return null;if(t.getNumInteriorRing()<=0)return this.validErr=new tt(tt.NESTED_SHELLS,u),null;for(f=null,r=0;r<t.getNumInteriorRing();r++)if(o=t.getInteriorRingN(r),null===(f=this.checkShellInsideHole(n,o,i)))return null;this.validErr=new tt(tt.NESTED_SHELLS,f)},checkClosedRings:function(n){if(this.checkClosedRing(n.getExteriorRing()),null!==this.validErr)return null;for(var t=0;t<n.getNumInteriorRing();t++)if(this.checkClosedRing(n.getInteriorRingN(t)),null!==this.validErr)return null},checkClosedRing:function(n){if(!n.isClosed()){var t=null;n.getNumPoints()>=1&&(t=n.getCoordinateN(0));this.validErr=new tt(tt.RING_NOT_CLOSED,t)}},checkShellsNotNested:function(n,t){for(var u,i=0;i<n.getNumGeometries();i++)for(var f=n.getGeometryN(i),e=f.getExteriorRing(),r=0;r<n.getNumGeometries();r++)if(i!==r&&(u=n.getGeometryN(r),this.checkShellNotNested(e,u,t),null!==this.validErr))return null},interfaces_:function(){return[]},getClass:function(){return uu}});uu.findPtNotNode=function(n,t,i){for(var u,f=i.findEdge(t),e=f.getEdgeIntersectionList(),r=0;r<n.length;r++)if(u=n[r],!e.isIntersection(u))return u;return null};uu.isValid=function(){if(arguments[0]instanceof h)return new uu(arguments[0]).isValid();if(arguments[0]instanceof r){var n=arguments[0];return!a.isNaN(n.x)&&!a.isInfinite(n.x)&&!a.isNaN(n.y)&&!a.isInfinite(n.y)}};t(nf.prototype,{isIncluded:function(){return this._isIncluded},getCoordinates:function(){var n,t,i,r;if(null===this.ringPts){for(n=new gt,t=this.deList.iterator();t.hasNext();)i=t.next(),r=i.getEdge(),nf.addEdge(r.getLine().getCoordinates(),i.getEdgeDirection(),n);this.ringPts=n.toCoordinateArray()}return this.ringPts},isIncludedSet:function(){return this._isIncludedSet},isValid:function(){return this.getCoordinates(),!(this.ringPts.length<=3)&&(this.getRing(),uu.isValid(this.ring))},build:function(n){var t=n;do this.add(t),t.setRing(this),t=t.getNext(),c.isTrue(null!==t,"found null DE in ring"),c.isTrue(t===n||!t.isInRing(),"found DE already in ring");while(t!==n)},isOuterHole:function(){return!!this._isHole&&!this.hasShell()},getPolygon:function(){var t=null,n;if(null!==this.holes)for(t=new Array(this.holes.size()).fill(null),n=0;n<this.holes.size();n++)t[n]=this.holes.get(n);return this.factory.createPolygon(this.ring,t)},isHole:function(){return this._isHole},isProcessed:function(){return this._isProcessed},addHole:function(){var t,n,i;arguments[0]instanceof ni?(t=arguments[0],null===this.holes&&(this.holes=new u),this.holes.add(t)):arguments[0]instanceof nf&&(n=arguments[0],n.setShell(this),i=n.getRing(),null===this.holes&&(this.holes=new u),this.holes.add(i))},setIncluded:function(n){this._isIncluded=n;this._isIncludedSet=!0},getOuterHole:function(){var n,i,t;if(this.isHole())return null;for(n=0;n<this.deList.size();n++)if(i=this.deList.get(n),t=i.getSym().getRing(),t.isOuterHole())return t;return null},computeHole:function(){var n=this.getRing();this._isHole=s.isCCW(n.getCoordinates())},hasShell:function(){return null!==this.shell},isOuterShell:function(){return null!==this.getOuterHole()},getLineString:function(){return this.getCoordinates(),this.factory.createLineString(this.ringPts)},toString:function(){return wi.toLineString(new nu(this.getCoordinates()))},getShell:function(){return this.isHole()?this.shell:this},add:function(n){this.deList.add(n)},getRing:function(){if(null!==this.ring)return this.ring;this.getCoordinates();this.ringPts.length<3&&pt.out.println(this.ringPts);try{this.ring=this.factory.createLinearRing(this.ringPts)}catch(n){if(!(n instanceof la))throw n;pt.out.println(this.ringPts)}return this.ring},updateIncluded:function(){var n,i,t;if(this.isHole())return null;for(n=0;n<this.deList.size();n++)if(i=this.deList.get(n),t=i.getSym().getRing().getShell(),null!==t&&t.isIncludedSet())return this.setIncluded(!t.isIncluded()),null},setShell:function(n){this.shell=n},setProcessed:function(n){this._isProcessed=n},interfaces_:function(){return[]},getClass:function(){return nf}});nf.findDirEdgesInRing=function(n){var t=n,i=new u;do i.add(t),t=t.getNext(),c.isTrue(null!==t,"found null DE in ring"),c.isTrue(t===n||!t.isInRing(),"found DE already in ring");while(t!==n);return i};nf.addEdge=function(n,t,i){var r;if(t)for(r=0;r<n.length;r++)i.add(n[r],!1);else for(r=n.length-1;r>=0;r--)i.add(n[r],!1)};nf.findEdgeRingContaining=function(n,t){for(var e,r=n.getRing(),o=r.getEnvelopeInternal(),h=r.getCoordinateN(0),i=null,c=null,l=t.iterator();l.hasNext();){var a=l.next(),u=a.getRing(),f=u.getEnvelopeInternal();!f.equals(o)&&f.contains(o)&&(h=w.ptNotInList(r.getCoordinates(),u.getCoordinates()),e=!1,s.isPointInRing(h,u.getCoordinates())&&(e=!0),e&&(null===i||c.contains(f))&&(i=a,c=i.getRing().getEnvelopeInternal()))}return i};t(rb.prototype,{compare:function(n,t){var i=n,r=t;return i.getRing().getEnvelope().compareTo(r.getRing().getEnvelope())},interfaces_:function(){return[ke]},getClass:function(){return rb}});nf.EnvelopeComparator=rb;y(fi,lh);t(fi.prototype,{findEdgeRing:function(n){var t=new nf(this.factory);return t.build(n),t},computeDepthParity:function(){if(0===arguments.length)for(;;)return null;else 1===arguments.length&&arguments[0]},computeNextCWEdges:function(){for(var t,n=this.nodeIterator();n.hasNext();)t=n.next(),fi.computeNextCWEdges(t)},addEdge:function(n){var t;if(n.isEmpty()||(t=w.removeRepeatedPoints(n.getCoordinates()),t.length<2))return null;var f=t[0],e=t[t.length-1],i=this.getNode(f),r=this.getNode(e),o=new pl(i,r,t[1],!0),s=new pl(r,i,t[t.length-2],!1),u=new oy(n);u.setDirectedEdges(o,s);this.add(u)},deleteCutEdges:function(){var t,i,n,r,f;for(this.computeNextCWEdges(),fi.findLabeledEdgeRings(this.dirEdges),t=new u,i=this.dirEdges.iterator();i.hasNext();)n=i.next(),n.isMarked()||(r=n.getSym(),n.getLabel()===r.getLabel()&&(n.setMarked(!0),r.setMarked(!0),f=n.getEdge(),t.add(f.getLine())));return t},getEdgeRings:function(){var r,t,i,n,f;for(this.computeNextCWEdges(),fi.label(this.dirEdges,-1),r=fi.findLabeledEdgeRings(this.dirEdges),this.convertMaximalToMinimalEdgeRings(r),t=new u,i=this.dirEdges.iterator();i.hasNext();)n=i.next(),n.isMarked()||n.isInRing()||(f=this.findEdgeRing(n),t.add(f));return t},getNode:function(n){var t=this.findNode(n);return null===t&&(t=new se(n),this.add(t)),t},convertMaximalToMinimalEdgeRings:function(n){for(var i,e,t=n.iterator();t.hasNext();){var r=t.next(),u=r.getLabel(),f=fi.findIntersectionNodes(r,u);if(null!==f)for(i=f.iterator();i.hasNext();)e=i.next(),fi.computeNextCCWEdges(e,u)}},deleteDangles:function(){for(var r,o,t,u,s,f,h=this.findNodesOfDegree(1),e=new ai,i=new tr,n=h.iterator();n.hasNext();)i.push(n.next());for(;!i.isEmpty();)for(r=i.pop(),fi.deleteAllEdges(r),o=r.getOutEdges().getEdges(),n=o.iterator();n.hasNext();)t=n.next(),t.setMarked(!0),u=t.getSym(),null!==u&&u.setMarked(!0),s=t.getEdge(),e.add(s.getLine()),f=t.getToNode(),1===fi.getDegreeNonDeleted(f)&&i.push(f);return e},interfaces_:function(){return[]},getClass:function(){return fi}});fi.findLabeledEdgeRings=function(n){for(var t,e,i=new u,r=1,f=n.iterator();f.hasNext();)t=f.next(),t.isMarked()||t.getLabel()>=0||(i.add(t),e=nf.findDirEdgesInRing(t),fi.label(e,r),r++);return i};fi.getDegreeNonDeleted=function(n){for(var r=n.getOutEdges().getEdges(),t=0,i=r.iterator();i.hasNext();)i.next().isMarked()||t++;return t};fi.deleteAllEdges=function(n){for(var i,r,u=n.getOutEdges().getEdges(),t=u.iterator();t.hasNext();)i=t.next(),i.setMarked(!0),r=i.getSym(),null!==r&&r.setMarked(!0)};fi.label=function(n,t){for(var i=n.iterator();i.hasNext();)i.next().setLabel(t)};fi.computeNextCWEdges=function(n){for(var i,r,e=n.getOutEdges(),u=null,t=null,f=e.getEdges().iterator();f.hasNext();)i=f.next(),i.isMarked()||((null===u&&(u=i),null!==t)&&(r=t.getSym(),r.setNext(i)),t=i);null!==t&&(r=t.getSym(),r.setNext(u))};fi.computeNextCCWEdges=function(n,t){for(var u,l=n.getOutEdges(),f=null,i=null,s=l.getEdges(),e=s.size()-1;e>=0;e--){var o=s.get(e),h=o.getSym(),r=null;o.getLabel()===t&&(r=o);u=null;h.getLabel()===t&&(u=h);null===r&&null===u||(null!==u&&(i=u),null!==r&&(null!==i&&(i.setNext(r),i=null),null===f&&(f=r)))}null!==i&&(c.isTrue(null!==f),i.setNext(f))};fi.getDegree=function(n,t){for(var u=n.getOutEdges().getEdges(),i=0,r=u.iterator();r.hasNext();)r.next().getLabel()===t&&i++;return i};fi.findIntersectionNodes=function(n,t){var i=n,r=null,f;do f=i.getFromNode(),fi.getDegree(f,t)>1&&(null===r&&(r=new u),r.add(f)),i=i.getNext(),c.isTrue(null!==i,"found null DE in ring"),c.isTrue(i===n||!i.isInRing(),"found DE already in ring");while(i!==n);return r};t(br.prototype,{getGeometry:function(){return null===this.geomFactory&&(this.geomFactory=new g),this.polygonize(),this.extractOnlyPolygonal?this.geomFactory.buildGeometry(this.polyList):this.geomFactory.createGeometryCollection(g.toGeometryArray(this.polyList))},getInvalidRingLines:function(){return this.polygonize(),this.invalidRingLines},findValidRings:function(n,t,i){for(var r,u=n.iterator();u.hasNext();)r=u.next(),r.isValid()?t.add(r):i.add(r.getLineString())},polygonize:function(){var t,n,i;if(null!==this.polyList||(this.polyList=new u,null===this.graph))return null;this.dangles=this.graph.deleteDangles();this.cutEdges=this.graph.deleteCutEdges();t=this.graph.getEdgeRings();n=new u;this.invalidRingLines=new u;this.isCheckingRingsValid?this.findValidRings(t,n,this.invalidRingLines):n=t;this.findShellsAndHoles(n);br.assignHolesToShells(this.holeList,this.shellList);rf.sort(this.shellList,new nf.EnvelopeComparator);i=!0;this.extractOnlyPolygonal&&(br.findDisjointShells(this.shellList),i=!1);this.polyList=br.extractPolygons(this.shellList,i)},getDangles:function(){return this.polygonize(),this.dangles},getCutEdges:function(){return this.polygonize(),this.cutEdges},getPolygons:function(){return this.polygonize(),this.polyList},add:function(){var i,n,r,t,u;if(l(arguments[0],yt))for(i=arguments[0],n=i.iterator();n.hasNext();)r=n.next(),this.add(r);else arguments[0]instanceof d?(t=arguments[0],this.geomFactory=t.getFactory(),null===this.graph&&(this.graph=new fi(this.geomFactory)),this.graph.addEdge(t)):arguments[0]instanceof h&&(u=arguments[0],u.apply(this.lineStringAdder))},setCheckRingsValid:function(n){this.isCheckingRingsValid=n},findShellsAndHoles:function(n){var i,t;for(this.holeList=new u,this.shellList=new u,i=n.iterator();i.hasNext();)t=i.next(),t.computeHole(),t.isHole()?this.holeList.add(t):this.shellList.add(t)},interfaces_:function(){return[]},getClass:function(){return br}});br.findOuterShells=function(n){for(var r,t,i=n.iterator();i.hasNext();)r=i.next(),t=r.getOuterHole(),null===t||t.isProcessed()||(r.setIncluded(!0),t.setProcessed(!0))};br.extractPolygons=function(n,t){for(var f,i=new u,r=n.iterator();r.hasNext();)f=r.next(),(t||f.isIncluded())&&i.add(f.getPolygon());return i};br.assignHolesToShells=function(n,t){for(var r,i=n.iterator();i.hasNext();)r=i.next(),br.assignHoleToShell(r,t)};br.assignHoleToShell=function(n,t){var i=nf.findEdgeRingContaining(n,t);null!==i&&i.addHole(n)};br.findDisjointShells=function(n){var t,r,i;br.findOuterShells(n);t=null;do for(t=!1,r=n.iterator();r.hasNext();)i=r.next(),i.isIncludedSet()||(i.updateIncluded(),i.isIncludedSet()||(t=!0));while(t)};t(ay.prototype,{filter:function(n){n instanceof d&&this.p.add(n)},interfaces_:function(){return[wu]},getClass:function(){return ay}});br.LineStringAdder=ay;hk=Object.freeze({Polygonizer:br});t(vy.prototype,{insertEdgeEnds:function(n){for(var i,t=n.iterator();t.hasNext();)i=t.next(),this.nodes.add(i)},computeProperIntersectionIM:function(n,t){var i=this.arg[0].getGeometry().getDimension(),r=this.arg[1].getGeometry().getDimension(),u=n.hasProperIntersection(),f=n.hasProperInteriorIntersection();2===i&&2===r?u&&t.setAtLeast("212101212"):2===i&&1===r?(u&&t.setAtLeast("FFF0FFFF2"),f&&t.setAtLeast("1FFFFF1FF")):1===i&&2===r?(u&&t.setAtLeast("F0FFFFFF2"),f&&t.setAtLeast("1F1FFFFFF")):1===i&&1===r&&f&&t.setAtLeast("0FFFFFFFF")},labelIsolatedEdges:function(n,t){for(var i,r=this.arg[n].getEdgeIterator();r.hasNext();)i=r.next(),i.isIsolated()&&(this.labelIsolatedEdge(i,t,this.arg[t].getGeometry()),this.isolatedEdges.add(i))},labelIsolatedEdge:function(n,t,r){if(r.getDimension()>0){var u=this.ptLocator.locate(n.getCoordinate(),r);n.getLabel().setAllLocations(t,u)}else n.getLabel().setAllLocations(t,i.EXTERIOR)},computeIM:function(){var n=new st,r,t,u,f;return(n.set(i.EXTERIOR,i.EXTERIOR,2),!this.arg[0].getGeometry().getEnvelopeInternal().intersects(this.arg[1].getGeometry().getEnvelopeInternal()))?(this.computeDisjointIM(n),n):(this.arg[0].computeSelfNodes(this.li,!1),this.arg[1].computeSelfNodes(this.li,!1),r=this.arg[0].computeEdgeIntersections(this.arg[1],this.li,!1),this.computeIntersectionNodes(0),this.computeIntersectionNodes(1),this.copyNodesAndLabels(0),this.copyNodesAndLabels(1),this.labelIsolatedNodes(),this.computeProperIntersectionIM(r,n),t=new sy,u=t.computeEdgeEnds(this.arg[0].getEdgeIterator()),this.insertEdgeEnds(u),f=t.computeEdgeEnds(this.arg[1].getEdgeIterator()),this.insertEdgeEnds(f),this.labelNodeEdges(),this.labelIsolatedEdges(0,1),this.labelIsolatedEdges(1,0),this.updateIM(n),n)},labelNodeEdges:function(){for(var n=this.nodes.iterator();n.hasNext();)n.next().getEdges().computeLabelling(this.arg)},copyNodesAndLabels:function(n){for(var i,t=this.arg[n].getNodeIterator();t.hasNext();)i=t.next(),this.nodes.addNode(i.getCoordinate()).setLabel(n,i.getLabel().getLocation(n))},labelIntersectionNodes:function(n){for(var e,t,r=this.arg[n].getEdgeIterator();r.hasNext();)for(var u=r.next(),o=u.getLabel().getLocation(n),f=u.getEdgeIntersectionList().iterator();f.hasNext();)e=f.next(),t=this.nodes.find(e.coord),t.getLabel().isNull(n)&&(o===i.BOUNDARY?t.setLabelBoundary(n):t.setLabel(n,i.INTERIOR))},labelIsolatedNode:function(n,t){var i=this.ptLocator.locate(n.getCoordinate(),this.arg[t].getGeometry());n.getLabel().setAllLocations(t,i)},computeIntersectionNodes:function(n){for(var e,t,r=this.arg[n].getEdgeIterator();r.hasNext();)for(var u=r.next(),o=u.getLabel().getLocation(n),f=u.getEdgeIntersectionList().iterator();f.hasNext();)e=f.next(),t=this.nodes.addNode(e.coord),o===i.BOUNDARY?t.setLabelBoundary(n):t.getLabel().isNull(n)&&t.setLabel(n,i.INTERIOR)},labelIsolatedNodes:function(){for(var n,i,t=this.nodes.iterator();t.hasNext();)n=t.next(),i=n.getLabel(),c.isTrue(i.getGeometryCount()>0,"node with empty label found"),n.isIsolated()&&(i.isNull(0)?this.labelIsolatedNode(n,0):this.labelIsolatedNode(n,1))},updateIM:function(n){for(var i,r,t=this.isolatedEdges.iterator();t.hasNext();)t.next().updateIM(n);for(i=this.nodes.iterator();i.hasNext();)r=i.next(),r.updateIM(n),r.updateIMFromEdges(n)},computeDisjointIM:function(n){var r=this.arg[0].getGeometry(),t;r.isEmpty()||(n.set(i.INTERIOR,i.EXTERIOR,r.getDimension()),n.set(i.BOUNDARY,i.EXTERIOR,r.getBoundaryDimension()));t=this.arg[1].getGeometry();t.isEmpty()||(n.set(i.EXTERIOR,i.INTERIOR,t.getDimension()),n.set(i.EXTERIOR,i.BOUNDARY,t.getBoundaryDimension()))},interfaces_:function(){return[]},getClass:function(){return vy}});t(dl.prototype,{isContainedInBoundary:function(n){var t,i;if(n instanceof ht)return!1;if(n instanceof bt)return this.isPointContainedInBoundary(n);if(n instanceof d)return this.isLineStringContainedInBoundary(n);for(t=0;t<n.getNumGeometries();t++)if(i=n.getGeometryN(t),!this.isContainedInBoundary(i))return!1;return!0},isLineSegmentContainedInBoundary:function(n,t){if(n.equals(t))return this.isPointContainedInBoundary(n);if(n.x===t.x){if(n.x===this.rectEnv.getMinX()||n.x===this.rectEnv.getMaxX())return!0}else if(n.y===t.y&&(n.y===this.rectEnv.getMinY()||n.y===this.rectEnv.getMaxY()))return!0;return!1},isLineStringContainedInBoundary:function(n){for(var i=n.getCoordinateSequence(),u=new r,f=new r,t=0;t<i.size()-1;t++)if(i.getCoordinate(t,u),i.getCoordinate(t+1,f),!this.isLineSegmentContainedInBoundary(u,f))return!1;return!0},isPointContainedInBoundary:function(){var t,n;return arguments[0]instanceof bt?(t=arguments[0],this.isPointContainedInBoundary(t.getCoordinate())):arguments[0]instanceof r?(n=arguments[0],n.x===this.rectEnv.getMinX()||n.x===this.rectEnv.getMaxX()||n.y===this.rectEnv.getMinY()||n.y===this.rectEnv.getMaxY()):void 0},contains:function(n){return!!this.rectEnv.contains(n.getEnvelopeInternal())&&!this.isContainedInBoundary(n)},interfaces_:function(){return[]},getClass:function(){return dl}});dl.contains=function(n,t){return new dl(n).contains(t)};t(ub.prototype,{intersects:function(n,t){var u=new p(n,t),r,i;return this.rectEnv.intersects(u)?this.rectEnv.intersects(n)?!0:this.rectEnv.intersects(t)?!0:(n.compareTo(t)>0&&(r=n,n=t,t=r),i=!1,t.y>n.y&&(i=!0),i?this.li.computeIntersection(n,t,this.diagDown0,this.diagDown1):this.li.computeIntersection(n,t,this.diagUp0,this.diagUp1),!!this.li.hasIntersection()):!1},interfaces_:function(){return[]},getClass:function(){return ub}});t(lo.prototype,{applyTo:function(n){for(var i,t=0;t<n.getNumGeometries()&&!this._isDone;t++)if(i=n.getGeometryN(t),i instanceof nt)this.applyTo(i);else if(this.visit(i),this.isDone())return this._isDone=!0,null},interfaces_:function(){return[]},getClass:function(){return lo}});t(ah.prototype,{intersects:function(n){var t,i,r;return this.rectEnv.intersects(n.getEnvelopeInternal())?(t=new yy(this.rectEnv),t.applyTo(n),t.intersects())?!0:(i=new py(this.rectangle),i.applyTo(n),i.containsPoint())?!0:(r=new wy(this.rectangle),r.applyTo(n),!!r.intersects()):!1},interfaces_:function(){return[]},getClass:function(){return ah}});ah.intersects=function(n,t){return new ah(n).intersects(t)};y(yy,lo);t(yy.prototype,{isDone:function(){return!0===this._intersects},visit:function(n){var t=n.getEnvelopeInternal();return this.rectEnv.intersects(t)?this.rectEnv.contains(t)?(this._intersects=!0,null):t.getMinX()>=this.rectEnv.getMinX()&&t.getMaxX()<=this.rectEnv.getMaxX()?(this._intersects=!0,null):t.getMinY()>=this.rectEnv.getMinY()&&t.getMaxY()<=this.rectEnv.getMaxY()?(this._intersects=!0,null):void 0:null},intersects:function(){return this._intersects},interfaces_:function(){return[]},getClass:function(){return yy}});y(py,lo);t(py.prototype,{isDone:function(){return!0===this._containsPoint},visit:function(n){var u,t,i;if(!(n instanceof ht)||(u=n.getEnvelopeInternal(),!this.rectEnv.intersects(u)))return null;for(t=new r,i=0;i<4;i++)if(this.rectSeq.getCoordinate(i,t),u.contains(t)&&iu.containsPointInPolygon(t,n))return this._containsPoint=!0,null},containsPoint:function(){return this._containsPoint},interfaces_:function(){return[]},getClass:function(){return py}});y(wy,lo);t(wy.prototype,{intersects:function(){return this.hasIntersection},isDone:function(){return!0===this.hasIntersection},visit:function(n){var i=n.getEnvelopeInternal(),t;if(!this.rectEnv.intersects(i))return null;t=bi.getLines(n);this.checkIntersectionWithLineStrings(t)},checkIntersectionWithLineStrings:function(n){for(var i,t=n.iterator();t.hasNext();)if(i=t.next(),this.checkIntersectionWithSegments(i),this.hasIntersection)return null},checkIntersectionWithSegments:function(n){for(var i=n.getCoordinateSequence(),t=1;t<i.size();t++)if(i.getCoordinate(t-1,this.p0),i.getCoordinate(t,this.p1),this.rectIntersector.intersects(this.p0,this.p1))return this.hasIntersection=!0,null},interfaces_:function(){return[]},getClass:function(){return wy}});y(ut,uo);t(ut.prototype,{getIntersectionMatrix:function(){return this._relate.computeIM()},interfaces_:function(){return[]},getClass:function(){return ut}});ut.covers=function(n,t){return!!n.getEnvelopeInternal().covers(t.getEnvelopeInternal())&&(!!n.isRectangle()||ut.relate(n,t).isCovers())};ut.intersects=function(n,t){return!!n.getEnvelopeInternal().intersects(t.getEnvelopeInternal())&&(n.isRectangle()?ah.intersects(n,t):t.isRectangle()?ah.intersects(t,n):ut.relate(n,t).isIntersects())};ut.touches=function(n,t){return!!n.getEnvelopeInternal().intersects(t.getEnvelopeInternal())&&ut.relate(n,t).isTouches(n.getDimension(),t.getDimension())};ut.within=function(n,t){return t.contains(n)};ut.coveredBy=function(n,t){return ut.covers(t,n)};ut.relate=function(){if(2===arguments.length){var i=arguments[0],r=arguments[1],n=new ut(i,r),t=n.getIntersectionMatrix();return t}if(3===arguments.length){if("string"==typeof arguments[2]&&arguments[0]instanceof h&&arguments[1]instanceof h){var u=arguments[0],f=arguments[1],e=arguments[2];return ut.relateWithCheck(u,f).matches(e)}if(l(arguments[2],oi)&&arguments[0]instanceof h&&arguments[1]instanceof h){var o=arguments[0],s=arguments[1],c=arguments[2],n=new ut(o,s,c),t=n.getIntersectionMatrix();return t}}};ut.overlaps=function(n,t){return!!n.getEnvelopeInternal().intersects(t.getEnvelopeInternal())&&ut.relate(n,t).isOverlaps(n.getDimension(),t.getDimension())};ut.disjoint=function(n,t){return!n.intersects(t)};ut.relateWithCheck=function(n,t){return n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(t),ut.relate(n,t)};ut.crosses=function(n,t){return!!n.getEnvelopeInternal().intersects(t.getEnvelopeInternal())&&ut.relate(n,t).isCrosses(n.getDimension(),t.getDimension())};ut.contains=function(n,t){return!!n.getEnvelopeInternal().contains(t.getEnvelopeInternal())&&(n.isRectangle()?dl.contains(n,t):ut.relate(n,t).isContains())};ck=Object.freeze({RelateOp:ut});t(fu.prototype,{extractElements:function(n,t){var i,r;if(null===n)return null;for(i=0;i<n.getNumGeometries();i++)r=n.getGeometryN(i),this.skipEmpty&&r.isEmpty()||t.add(r)},combine:function(){for(var i,n=new u,t=this.inputGeoms.iterator();t.hasNext();)i=t.next(),this.extractElements(i,n);return 0===n.size()?null!==this.geomFactory?this.geomFactory.createGeometryCollection(null):null:this.geomFactory.buildGeometry(n)},interfaces_:function(){return[]},getClass:function(){return fu}});fu.combine=function(){var t,n;if(1===arguments.length)return t=arguments[0],n=new fu(t),n.combine();if(2===arguments.length){var i=arguments[0],r=arguments[1],n=new fu(fu.createList(i,r));return n.combine()}if(3===arguments.length){var u=arguments[0],f=arguments[1],e=arguments[2],n=new fu(fu.createList(u,f,e));return n.combine()}};fu.extractFactory=function(n){return n.isEmpty()?null:n.iterator().next().getFactory()};fu.createList=function(){if(2===arguments.length){var t=arguments[0],i=arguments[1],n=new u;return n.add(t),n.add(i),n}if(3===arguments.length){var r=arguments[0],f=arguments[1],e=arguments[2],n=new u;return n.add(r),n.add(f),n.add(e),n}};t(gl.prototype,{union:function(){for(var e,u,f,n,o=new is,t=new gi,r=0;r<this.pointGeom.getNumGeometries();r++)e=this.pointGeom.getGeometryN(r),u=e.getCoordinate(),o.locate(u,this.otherGeom)===i.EXTERIOR&&t.add(u);return 0===t.size()?this.otherGeom:(f=null,n=w.toCoordinateArray(t),f=1===n.length?this.geomFact.createPoint(n[0]):this.geomFact.createMultiPointFromCoords(n),fu.combine(f,this.otherGeom))},interfaces_:function(){return[]},getClass:function(){return gl}});gl.union=function(n,t){return new gl(n,t).union()};t(ao.prototype,{filter:function(n){-1!==this.sortIndex&&n.getSortIndex()!==this.sortIndex||this.comps.add(n)},interfaces_:function(){return[df]},getClass:function(){return ao}});ao.extract=function(){var i,r;if(2===arguments.length)return i=arguments[0],r=arguments[1],ao.extract(i,r,new u);if(3===arguments.length){var n=arguments[0],f=arguments[1],t=arguments[2];return n.getSortIndex()===f?t.add(n):n instanceof nt&&n.apply(new ao(f,t)),t}};t(au.prototype,{reduceToGeometries:function(n){for(var t,i,r=new u,f=n.iterator();f.hasNext();)t=f.next(),i=null,l(t,ei)?i=this.unionTree(t):t instanceof h&&(i=t),r.add(i);return r},extractByEnvelope:function(n,t,i){for(var f,e=new u,r=0;r<t.getNumGeometries();r++)f=t.getGeometryN(r),f.getEnvelopeInternal().intersects(n)?e.add(f):i.add(f);return this.geomFactory.buildGeometry(e)},unionOptimized:function(n,t){var i=n.getEnvelopeInternal(),r=t.getEnvelopeInternal(),u;return i.intersects(r)?n.getNumGeometries()<=1&&t.getNumGeometries()<=1?this.unionActual(n,t):(u=i.intersection(r),this.unionUsingEnvelopeIntersection(n,t,u)):fu.combine(n,t)},union:function(){var n,t,i,r;if(null===this.inputPolys)throw new IllegalStateException("union() method cannot be called twice");if(this.inputPolys.isEmpty())return null;for(this.geomFactory=this.inputPolys.iterator().next().getFactory(),n=new kt(au.STRTREE_NODE_CAPACITY),t=this.inputPolys.iterator();t.hasNext();)i=t.next(),n.insert(i.getEnvelopeInternal(),i);return this.inputPolys=null,r=n.itemsTree(),this.unionTree(r)},binaryUnion:function(){var u,r;if(1===arguments.length)return u=arguments[0],this.binaryUnion(u,0,u.size());if(3===arguments.length){var t=arguments[0],n=arguments[1],i=arguments[2];if(i-n<=1)return r=au.getGeometry(t,n),this.unionSafe(r,null);if(i-n==2)return this.unionSafe(au.getGeometry(t,n),au.getGeometry(t,n+1));var f=Math.trunc((i+n)/2),r=this.binaryUnion(t,n,f),e=this.binaryUnion(t,f,i);return this.unionSafe(r,e)}},repeatedUnion:function(n){for(var r,t=null,i=n.iterator();i.hasNext();)r=i.next(),t=null===t?r.copy():t.union(r);return t},unionSafe:function(n,t){return null===n&&null===t?null:null===n?t.copy():null===t?n.copy():this.unionOptimized(n,t)},unionActual:function(n,t){return au.restrictToPolygons(n.union(t))},unionTree:function(n){var t=this.reduceToGeometries(n);return this.binaryUnion(t)},unionUsingEnvelopeIntersection:function(n,t,i){var r=new u,f=this.extractByEnvelope(i,n,r),e=this.extractByEnvelope(i,t,r),o=this.unionActual(f,e);return r.add(o),fu.combine(r)},bufferUnion:function(){if(1===arguments.length){var r=arguments[0],n=r.get(0).getFactory(),t=n.buildGeometry(r),i=t.buffer(0);return i}if(2===arguments.length){var u=arguments[0],f=arguments[1],n=u.getFactory(),t=n.createGeometryCollection([u,f]),i=t.buffer(0);return i}},interfaces_:function(){return[]},getClass:function(){return au}});au.restrictToPolygons=function(n){if(l(n,gf))return n;var t=cs.getPolygons(n);return 1===t.size()?t.get(0):n.getFactory().createMultiPolygon(g.toPolygonArray(t))};au.getGeometry=function(n,t){return t>=n.size()?null:n.get(t)};au.union=function(n){return new au(n).union()};au.STRTREE_NODE_CAPACITY=4;t(vo.prototype,{unionNoOpt:function(n){var t=this.geomFact.createPoint();return hi.overlayOp(n,t,v.UNION)},unionWithNull:function(n,t){return null===n&&null===t?null:null===t?n:null===n?t:n.union(t)},extract:function(){var i,t,r,n;if(l(arguments[0],yt))for(i=arguments[0],t=i.iterator();t.hasNext();)r=t.next(),this.extract(r);else arguments[0]instanceof h&&(n=arguments[0],null===this.geomFact&&(this.geomFact=n.getFactory()),ao.extract(n,h.SORTINDEX_POLYGON,this.polygons),ao.extract(n,h.SORTINDEX_LINESTRING,this.lines),ao.extract(n,h.SORTINDEX_POINT,this.points))},union:function(){var n,f,r,e,u,t,i;return null===this.geomFact?null:(n=null,this.points.size()>0&&(f=this.geomFact.buildGeometry(this.points),n=this.unionNoOpt(f)),r=null,this.lines.size()>0&&(e=this.geomFact.buildGeometry(this.lines),r=this.unionNoOpt(e)),u=null,this.polygons.size()>0&&(u=au.union(this.polygons)),t=this.unionWithNull(r,u),i=null,i=null===n?t:null===t?n:gl.union(n,t),null===i?this.geomFact.createGeometryCollection():i)},interfaces_:function(){return[]},getClass:function(){return vo}});vo.union=function(){var t,i,n;if(1===arguments.length){if(l(arguments[0],yt))return t=arguments[0],n=new vo(t),n.union();if(arguments[0]instanceof h)return i=arguments[0],n=new vo(i),n.union()}else if(2===arguments.length){var r=arguments[0],u=arguments[1],n=new vo(r,u);return n.union()}};var ig=Object.freeze({UnaryUnionOp:vo}),rg=Object.freeze({IsValidOp:uu,ConsistentAreaTester:ly}),ug=Object.freeze({BoundaryOp:ce,IsSimpleOp:el,buffer:fk,distance:ek,linemerge:ok,overlay:sk,polygonize:hk,relate:ck,union:ig,valid:rg});y(by,gr.CoordinateOperation);t(by.prototype,{editCoordinates:function(n,t){var u,i,f,o;if(0===n.length)return null;for(u=new Array(n.length).fill(null),i=0;i<n.length;i++)f=new r(n[i]),this.targetPM.makePrecise(f),u[i]=f;var h=new gt(u,!1),s=h.toCoordinateArray(),e=0;return t instanceof d&&(e=2),t instanceof ni&&(e=4),o=u,this.removeCollapsed&&(o=null),s.length<e?o:s},interfaces_:function(){return[]},getClass:function(){return by}});t(as.prototype,{fixPolygonalTopology:function(n){var r=n,t,i;return this.changePrecisionModel||(r=this.changePM(n,this.targetPM)),t=r.buffer(0),i=t,this.changePrecisionModel||(i=this.changePM(t,n.getPrecisionModel())),i},reducePointwise:function(n){var i=null,t;return i=this.changePrecisionModel?new gr(this.createFactory(n.getFactory(),this.targetPM)):new gr,t=this.removeCollapsed,n.getDimension()>=2&&(t=!0),i.edit(n,new by(this.targetPM,t))},changePM:function(n,t){return this.createEditor(n.getFactory(),t).edit(n,new gr.NoOpGeometryOperation)},setRemoveCollapsedComponents:function(n){this.removeCollapsed=n},createFactory:function(n,t){return new g(t,n.getSRID(),n.getCoordinateSequenceFactory())},setChangePrecisionModel:function(n){this.changePrecisionModel=n},reduce:function(n){var t=this.reducePointwise(n);return this.isPointwise?t:l(t,gf)?t.isValid()?t:this.fixPolygonalTopology(t):t},setPointwise:function(n){this.isPointwise=n},createEditor:function(n,t){return n.getPrecisionModel()===t?new gr:new gr(this.createFactory(n,t))},interfaces_:function(){return[]},getClass:function(){return as}});as.reduce=function(n,t){return new as(t).reduce(n)};as.reducePointwise=function(n,t){var i=new as(t);return i.setPointwise(!0),i.reduce(n)};lk=Object.freeze({GeometryPrecisionReducer:as});t(na.prototype,{simplifySection:function(n,t){var f,i;if(n+1===t)return null;this.seg.p0=this.pts[n];this.seg.p1=this.pts[t];for(var r=-1,u=n,i=n+1;i<t;i++)f=this.seg.distance(this.pts[i]),f>r&&(r=f,u=i);if(r<=this.distanceTolerance)for(i=n+1;i<t;i++)this.usePt[i]=!1;else this.simplifySection(n,u),this.simplifySection(u,t)},setDistanceTolerance:function(n){this.distanceTolerance=n},simplify:function(){var t,n;for(this.usePt=new Array(this.pts.length).fill(null),n=0;n<this.pts.length;n++)this.usePt[n]=!0;for(this.simplifySection(0,this.pts.length-1),t=new gt,n=0;n<this.pts.length;n++)this.usePt[n]&&t.add(new r(this.pts[n]));return t.toCoordinateArray()},interfaces_:function(){return[]},getClass:function(){return na}});na.simplify=function(n,t){var i=new na(n);return i.setDistanceTolerance(t),i.simplify()};t(vh.prototype,{setEnsureValid:function(n){this.isEnsureValidTopology=n},getResultGeometry:function(){return this.inputGeom.isEmpty()?this.inputGeom.copy():new ta(this.isEnsureValidTopology,this.distanceTolerance).transform(this.inputGeom)},setDistanceTolerance:function(n){if(n<0)throw new ft("Tolerance must be non-negative");this.distanceTolerance=n},interfaces_:function(){return[]},getClass:function(){return vh}});vh.simplify=function(n,t){var i=new vh(n);return i.setDistanceTolerance(t),i.getResultGeometry()};y(ta,or);t(ta.prototype,{transformPolygon:function(n,t){if(n.isEmpty())return null;var i=or.prototype.transformPolygon.call(this,n,t);return t instanceof vi?i:this.createValidArea(i)},createValidArea:function(n){return this.isEnsureValidTopology?n.buffer(0):n},transformCoordinates:function(n){var t=n.toCoordinateArray(),i=null;return i=0===t.length?new Array(0).fill(null):na.simplify(t,this.distanceTolerance),this.factory.getCoordinateSequenceFactory().create(i)},transformMultiPolygon:function(n,t){var i=or.prototype.transformMultiPolygon.call(this,n,t);return this.createValidArea(i)},transformLinearRing:function(n,t){var r=t instanceof ht,i=or.prototype.transformLinearRing.call(this,n,t);return!r||i instanceof ni?i:null},interfaces_:function(){return[]},getClass:function(){return ta}});vh.DPTransformer=ta;y(ia,b);t(ia.prototype,{getIndex:function(){return this.index},getParent:function(){return this.parent},interfaces_:function(){return[]},getClass:function(){return ia}});t(we.prototype,{addToResult:function(n){this.resultSegs.add(n)},asLineString:function(){return this.parentLine.getFactory().createLineString(we.extractCoordinates(this.resultSegs))},getResultSize:function(){var n=this.resultSegs.size();return 0===n?0:n+1},getParent:function(){return this.parentLine},getSegment:function(n){return this.segs[n]},getParentCoordinates:function(){return this.parentLine.getCoordinates()},getMinimumSize:function(){return this.minimumSize},asLinearRing:function(){return this.parentLine.getFactory().createLinearRing(we.extractCoordinates(this.resultSegs))},getSegments:function(){return this.segs},init:function(){var t=this.parentLine.getCoordinates(),n,i;for(this.segs=new Array(t.length-1).fill(null),n=0;n<t.length-1;n++)i=new ia(t[n],t[n+1],this.parentLine,n),this.segs[n]=i},getResultCoordinates:function(){return we.extractCoordinates(this.resultSegs)},interfaces_:function(){return[]},getClass:function(){return we}});we.extractCoordinates=function(n){for(var t=new Array(n.size()+1).fill(null),r=null,i=0;i<n.size();i++)r=n.get(i),t[i]=r.p0;return t[t.length-1]=r.p1,t};t(yh.prototype,{remove:function(n){this.index.remove(new p(n.p0,n.p1),n)},add:function(){var r,n;if(arguments[0]instanceof we)for(var u=arguments[0],i=u.getSegments(),t=0;t<i.length;t++)r=i[t],this.add(r);else arguments[0]instanceof b&&(n=arguments[0],this.index.insert(new p(n.p0,n.p1),n))},query:function(n){var i=new p(n.p0,n.p1),t=new fb(n);return this.index.query(i,t),t.getItems()},interfaces_:function(){return[]},getClass:function(){return yh}});t(fb.prototype,{visitItem:function(n){var t=n;p.intersects(t.p0,t.p1,this.querySeg.p0,this.querySeg.p1)&&this.items.add(n)},getItems:function(){return this.items},interfaces_:function(){return[no]},getClass:function(){return fb}});t(ra.prototype,{flatten:function(n,t){var r=this.linePts[n],u=this.linePts[t],i=new b(r,u);return this.remove(this.line,n,t),this.outputIndex.add(i),i},hasBadIntersection:function(n,t,i){return!!this.hasBadOutputIntersection(i)||!!this.hasBadInputIntersection(n,t,i)},setDistanceTolerance:function(n){this.distanceTolerance=n},simplifySection:function(n,t,i){var f,u,o,s,e,r;if(i+=1,f=new Array(2).fill(null),n+1===t)return r=this.line.getSegment(n),this.line.addToResult(r),null;if(u=!0,this.line.getResultSize()<this.line.getMinimumSize()&&i+1<this.line.getMinimumSize()&&(u=!1),o=new Array(1).fill(null),s=this.findFurthestPoint(this.linePts,n,t,o),o[0]>this.distanceTolerance&&(u=!1),e=new b,e.p0=this.linePts[n],e.p1=this.linePts[t],f[0]=n,f[1]=t,this.hasBadIntersection(this.line,f,e)&&(u=!1),u)return r=this.flatten(n,t),this.line.addToResult(r),null;this.simplifySection(n,s,i);this.simplifySection(s,t,i)},hasBadOutputIntersection:function(n){for(var r,i=this.outputIndex.query(n),t=i.iterator();t.hasNext();)if(r=t.next(),this.hasInteriorIntersection(r,n))return!0;return!1},findFurthestPoint:function(n,t,i,r){var f=new b,h,o;f.p0=n[t];f.p1=n[i];for(var e=-1,s=t,u=t+1;u<i;u++)h=n[u],o=f.distance(h),o>e&&(e=o,s=u);return r[0]=e,s},simplify:function(n){this.line=n;this.linePts=n.getParentCoordinates();this.simplifySection(0,this.linePts.length-1,0)},remove:function(n,t,i){for(var u,r=t;r<i;r++)u=n.getSegment(r),this.inputIndex.remove(u)},hasInteriorIntersection:function(n,t){return this.li.computeIntersection(n.p0,n.p1,t.p0,t.p1),this.li.isInteriorIntersection()},hasBadInputIntersection:function(n,t,i){for(var u,f=this.inputIndex.query(i),r=f.iterator();r.hasNext();)if(u=r.next(),this.hasInteriorIntersection(u,i)){if(ra.isInLineSection(n,t,u))continue;return!0}return!1},interfaces_:function(){return[]},getClass:function(){return ra}});ra.isInLineSection=function(n,t,i){if(i.getParent()!==n.getParent())return!1;var r=i.getIndex();return r>=t[0]&&r<t[1]};t(eb.prototype,{setDistanceTolerance:function(n){this.distanceTolerance=n},simplify:function(n){for(var i,t=n.iterator();t.hasNext();)this.inputIndex.add(t.next());for(t=n.iterator();t.hasNext();)i=new ra(this.inputIndex,this.outputIndex),i.setDistanceTolerance(this.distanceTolerance),i.simplify(t.next())},interfaces_:function(){return[]},getClass:function(){return eb}});t(vs.prototype,{getResultGeometry:function(){return this.inputGeom.isEmpty()?this.inputGeom.copy():(this.linestringMap=new ne,this.inputGeom.apply(new ky(this)),this.lineSimplifier.simplify(this.linestringMap.values()),new ua(this.linestringMap).transform(this.inputGeom))},setDistanceTolerance:function(n){if(n<0)throw new ft("Tolerance must be non-negative");this.lineSimplifier.setDistanceTolerance(n)},interfaces_:function(){return[]},getClass:function(){return vs}});vs.simplify=function(n,t){var i=new vs(n);return i.setDistanceTolerance(t),i.getResultGeometry()};y(ua,or);t(ua.prototype,{transformCoordinates:function(n,t){if(0===n.size())return null;if(t instanceof d){var i=this.linestringMap.get(t);return this.createCoordinateSequence(i.getResultCoordinates())}return or.prototype.transformCoordinates.call(this,n,t)},interfaces_:function(){return[]},getClass:function(){return ua}});t(ky.prototype,{filter:function(n){var t,i,r;if(n instanceof d){if(t=n,t.isEmpty())return null;i=t.isClosed()?4:2;r=new we(t,i);this.tps.linestringMap.put(t,r)}},interfaces_:function(){return[wu]},getClass:function(){return ky}});vs.LineStringTransformer=ua;vs.LineStringMapBuilderFilter=ky;ak=Object.freeze({DouglasPeuckerSimplifier:vh,TopologyPreservingSimplifier:vs});t(ph.prototype,{splitAt:function(){var n,t;if(1===arguments.length){if(n=arguments[0],t=this.minimumLen/this.segLen,n.distance(this.seg.p0)<this.minimumLen)return this.splitPt=this.seg.pointAlong(t),null;if(n.distance(this.seg.p1)<this.minimumLen)return this.splitPt=ph.pointAlongReverse(this.seg,t),null;this.splitPt=n}else if(2===arguments.length){var r=arguments[0],u=arguments[1],f=this.getConstrainedLength(r),i=f/this.segLen;this.splitPt=u.equals2D(this.seg.p0)?this.seg.pointAlong(i):ph.pointAlongReverse(this.seg,i)}},setMinimumLength:function(n){this.minimumLen=n},getConstrainedLength:function(n){return n<this.minimumLen?this.minimumLen:n},getSplitPoint:function(){return this.splitPt},interfaces_:function(){return[]},getClass:function(){return ph}});ph.pointAlongReverse=function(n,t){var i=new r;return i.x=n.p1.x-t*(n.p1.x-n.p0.x),i.y=n.p1.y-t*(n.p1.y-n.p0.y),i};t(ob.prototype,{findSplitPoint:function(){},interfaces_:function(){return[]},getClass:function(){return ob}});t(fa.prototype,{findSplitPoint:function(n,t){var u=n.getLineSegment(),o=u.getLength(),f=o/2,i=new ph(u),e=fa.projectedSplitPoint(n,t),s=2*e.distance(t)*.8,r=s;return r>f&&(r=f),i.setMinimumLength(r),i.splitAt(e),i.getSplitPoint()},interfaces_:function(){return[ob]},getClass:function(){return fa}});fa.projectedSplitPoint=function(n,t){return n.getLineSegment().project(t)};t(wt.prototype,{interfaces_:function(){return[]},getClass:function(){return wt}});wt.triArea=function(n,t,i){return(t.x-n.x)*(i.y-n.y)-(t.y-n.y)*(i.x-n.x)};wt.isInCircleDDNormalized=function(n,t,i,r){var u=f.valueOf(n.x).selfSubtract(r.x),e=f.valueOf(n.y).selfSubtract(r.y),o=f.valueOf(t.x).selfSubtract(r.x),s=f.valueOf(t.y).selfSubtract(r.y),h=f.valueOf(i.x).selfSubtract(r.x),c=f.valueOf(i.y).selfSubtract(r.y),l=u.multiply(s).selfSubtract(o.multiply(e)),a=o.multiply(c).selfSubtract(h.multiply(s)),v=h.multiply(e).selfSubtract(u.multiply(c)),y=u.multiply(u).selfAdd(e.multiply(e)),p=o.multiply(o).selfAdd(s.multiply(s)),w=h.multiply(h).selfAdd(c.multiply(c));return y.selfMultiply(a).selfAdd(p.selfMultiply(v)).selfAdd(w.selfMultiply(l)).doubleValue()>0};wt.checkRobustInCircle=function(n,t,i,r){var f=wt.isInCircleNonRobust(n,t,i,r),e=wt.isInCircleDDSlow(n,t,i,r),o=wt.isInCircleCC(n,t,i,r),u=vt.circumcentre(n,t,i);pt.out.println("p radius diff a = "+Math.abs(r.distance(u)-n.distance(u))/n.distance(u));f===e&&f===o||(pt.out.println("inCircle robustness failure (double result = "+f+", DD result = "+e+", CC result = "+o+")"),pt.out.println(wi.toLineString(new nu([n,t,i,r]))),pt.out.println("Circumcentre = "+wi.toPoint(u)+" radius = "+n.distance(u)),pt.out.println("p radius diff a = "+Math.abs(r.distance(u)/n.distance(u)-1)),pt.out.println("p radius diff b = "+Math.abs(r.distance(u)/t.distance(u)-1)),pt.out.println("p radius diff c = "+Math.abs(r.distance(u)/i.distance(u)-1)),pt.out.println())};wt.isInCircleDDFast=function(n,t,i,r){var u=f.sqr(n.x).selfAdd(f.sqr(n.y)).selfMultiply(wt.triAreaDDFast(t,i,r)),e=f.sqr(t.x).selfAdd(f.sqr(t.y)).selfMultiply(wt.triAreaDDFast(n,i,r)),o=f.sqr(i.x).selfAdd(f.sqr(i.y)).selfMultiply(wt.triAreaDDFast(n,t,r)),s=f.sqr(r.x).selfAdd(f.sqr(r.y)).selfMultiply(wt.triAreaDDFast(n,t,i));return u.selfSubtract(e).selfAdd(o).selfSubtract(s).doubleValue()>0};wt.isInCircleCC=function(n,t,i,r){var u=vt.circumcentre(n,t,i),f=n.distance(u);return r.distance(u)-f<=0};wt.isInCircleNormalized=function(n,t,i,r){var u=n.x-r.x,f=n.y-r.y,e=t.x-r.x,o=t.y-r.y,s=i.x-r.x,h=i.y-r.y;return(u*u+f*f)*(e*h-s*o)+(e*e+o*o)*(s*f-u*h)+(s*s+h*h)*(u*o-e*f)>0};wt.isInCircleDDSlow=function(n,t,i,r){var u=f.valueOf(r.x),e=f.valueOf(r.y),o=f.valueOf(n.x),s=f.valueOf(n.y),h=f.valueOf(t.x),c=f.valueOf(t.y),l=f.valueOf(i.x),a=f.valueOf(i.y),v=o.multiply(o).add(s.multiply(s)).multiply(wt.triAreaDDSlow(h,c,l,a,u,e)),y=h.multiply(h).add(c.multiply(c)).multiply(wt.triAreaDDSlow(o,s,l,a,u,e)),p=l.multiply(l).add(a.multiply(a)).multiply(wt.triAreaDDSlow(o,s,h,c,u,e)),w=u.multiply(u).add(e.multiply(e)).multiply(wt.triAreaDDSlow(o,s,h,c,l,a));return v.subtract(y).add(p).subtract(w).doubleValue()>0};wt.isInCircleNonRobust=function(n,t,i,r){return(n.x*n.x+n.y*n.y)*wt.triArea(t,i,r)-(t.x*t.x+t.y*t.y)*wt.triArea(n,i,r)+(i.x*i.x+i.y*i.y)*wt.triArea(n,t,r)-(r.x*r.x+r.y*r.y)*wt.triArea(n,t,i)>0};wt.isInCircleRobust=function(n,t,i,r){return wt.isInCircleNormalized(n,t,i,r)};wt.triAreaDDSlow=function(n,t,i,r,u,f){return i.subtract(n).multiply(f.subtract(t)).subtract(r.subtract(t).multiply(u.subtract(n)))};wt.triAreaDDFast=function(n,t,i){var r=f.valueOf(t.x).selfSubtract(n.x).selfMultiply(f.valueOf(i.y).selfSubtract(n.y)),u=f.valueOf(t.y).selfSubtract(n.y).selfMultiply(f.valueOf(i.x).selfSubtract(n.x));return r.selfSubtract(u)};t(ot.prototype,{circleCenter:function(n,t){var r=new ot(this.getX(),this.getY()),i=this.bisector(r,n),e=this.bisector(n,t),u=new lr(i,e),f=null;try{f=new ot(u.getX(),u.getY())}catch(i){if(!(i instanceof wf))throw i;pt.err.println("a: "+r+"  b: "+n+"  c: "+t);pt.err.println(i)}return f},dot:function(n){return this.p.x*n.getX()+this.p.y*n.getY()},magn:function(){return Math.sqrt(this.p.x*this.p.x+this.p.y*this.p.y)},getZ:function(){return this.p.z},bisector:function(n,t){var i=t.getX()-n.getX(),r=t.getY()-n.getY();return new lr(new lr(n.getX()+i/2,n.getY()+r/2,1),new lr(n.getX()-r+i/2,n.getY()+i+r/2,1))},equals:function(){var n,t,i;return 1===arguments.length?(n=arguments[0],this.p.x===n.getX()&&this.p.y===n.getY()):2===arguments.length?(t=arguments[0],i=arguments[1],this.p.distance(t.getCoordinate())<i):void 0},getCoordinate:function(){return this.p},isInCircle:function(n,t,i){return wt.isInCircleRobust(n.p,t.p,i.p,this.p)},interpolateZValue:function(n,t,i){var r=n.getX(),u=n.getY(),f=t.getX()-r,e=i.getX()-r,o=t.getY()-u,s=i.getY()-u,h=f*s-e*o,c=this.getX()-r,l=this.getY()-u,a=(s*c-e*l)/h,v=(-o*c+f*l)/h;return n.getZ()+a*(t.getZ()-n.getZ())+v*(i.getZ()-n.getZ())},midPoint:function(n){return new ot((this.p.x+n.getX())/2,(this.p.y+n.getY())/2,(this.p.z+n.getZ())/2)},rightOf:function(n){return this.isCCW(n.dest(),n.orig())},isCCW:function(n,t){return(n.p.x-this.p.x)*(t.p.y-this.p.y)-(n.p.y-this.p.y)*(t.p.x-this.p.x)>0},getX:function(){return this.p.x},crossProduct:function(n){return this.p.x*n.getY()-this.p.y*n.getX()},setZ:function(n){this.p.z=n},times:function(n){return new ot(n*this.p.x,n*this.p.y)},cross:function(){return new ot(this.p.y,-this.p.x)},leftOf:function(n){return this.isCCW(n.orig(),n.dest())},toString:function(){return"POINT ("+this.p.x+" "+this.p.y+")"},sub:function(n){return new ot(this.p.x-n.getX(),this.p.y-n.getY())},getY:function(){return this.p.y},classify:function(n,t){var u=this,i=t.sub(n),r=u.sub(n),f=i.crossProduct(r);return f>0?ot.LEFT:f<0?ot.RIGHT:i.getX()*r.getX()<0||i.getY()*r.getY()<0?ot.BEHIND:i.magn()<r.magn()?ot.BEYOND:n.equals(u)?ot.ORIGIN:t.equals(u)?ot.DESTINATION:ot.BETWEEN},sum:function(n){return new ot(this.p.x+n.getX(),this.p.y+n.getY())},distance:function(n,t){return Math.sqrt(Math.pow(t.getX()-n.getX(),2)+Math.pow(t.getY()-n.getY(),2))},circumRadiusRatio:function(n,t){var u=this.circleCenter(n,t),f=this.distance(u,n),i=this.distance(this,n),r=this.distance(n,t);return r<i&&(i=r),r=this.distance(t,this),r<i&&(i=r),f/i},interfaces_:function(){return[]},getClass:function(){return ot}});ot.interpolateZ=function(){if(3===arguments.length){var p=arguments[0],t=arguments[1],e=arguments[2],w=t.distance(e),b=p.distance(t),k=e.z-t.z;return t.z+k*(b/w)}if(4===arguments.length){var o=arguments[0],n=arguments[1],i=arguments[2],r=arguments[3],u=n.x,f=n.y,s=i.x-u,h=r.x-u,c=i.y-f,l=r.y-f,a=s*l-h*c,v=o.x-u,y=o.y-f,d=(l*v-h*y)/a,g=(-c*v+s*y)/a;return n.z+d*(i.z-n.z)+g*(r.z-n.z)}};ot.LEFT=0;ot.RIGHT=1;ot.BEYOND=2;ot.BEHIND=3;ot.BETWEEN=4;ot.ORIGIN=5;ot.DESTINATION=6;y(yo,ot);t(yo.prototype,{getConstraint:function(){return this.constraint},setOnConstraint:function(n){this._isOnConstraint=n},merge:function(n){n._isOnConstraint&&(this._isOnConstraint=!0,this.constraint=n.constraint)},isOnConstraint:function(){return this._isOnConstraint},setConstraint:function(n){this._isOnConstraint=!0;this.constraint=n},interfaces_:function(){return[]},getClass:function(){return yo}});t(dt.prototype,{equalsNonOriented:function(n){return!!this.equalsOriented(n)||!!this.equalsOriented(n.sym())},toLineSegment:function(){return new b(this.vertex.getCoordinate(),this.dest().getCoordinate())},dest:function(){return this.sym().orig()},oNext:function(){return this.next},equalsOriented:function(n){return!(!this.orig().getCoordinate().equals2D(n.orig().getCoordinate())||!this.dest().getCoordinate().equals2D(n.dest().getCoordinate()))},dNext:function(){return this.sym().oNext().sym()},lPrev:function(){return this.next.sym()},rPrev:function(){return this.sym().oNext()},rot:function(){return this._rot},oPrev:function(){return this._rot.next._rot},sym:function(){return this._rot._rot},setOrig:function(n){this.vertex=n},lNext:function(){return this.invRot().oNext().rot()},getLength:function(){return this.orig().getCoordinate().distance(this.dest().getCoordinate())},invRot:function(){return this._rot.sym()},setDest:function(n){this.sym().setOrig(n)},setData:function(n){this.data=n},getData:function(){return this.data},"delete":function(){this._rot=null},orig:function(){return this.vertex},rNext:function(){return this._rot.next.invRot()},toString:function(){var n=this.vertex.getCoordinate(),t=this.dest().getCoordinate();return wi.toLineString(n,t)},isLive:function(){return null!==this._rot},getPrimary:function(){return this.orig().getCoordinate().compareTo(this.dest().getCoordinate())<=0?this:this.sym()},dPrev:function(){return this.invRot().oNext().invRot()},setNext:function(n){this.next=n},interfaces_:function(){return[]},getClass:function(){return dt}});dt.makeEdge=function(n,t){var i=new dt,r=new dt,u=new dt,f=new dt,e;return i._rot=r,r._rot=u,u._rot=f,f._rot=i,i.setNext(i),r.setNext(f),u.setNext(u),f.setNext(r),e=i,e.setOrig(n),e.setDest(t),e};dt.swap=function(n){var t=n.oPrev(),i=n.sym().oPrev();dt.splice(n,t);dt.splice(n.sym(),i);dt.splice(n,t.lNext());dt.splice(n.sym(),i.lNext());n.setOrig(t.dest());n.setDest(i.dest())};dt.splice=function(n,t){var i=n.oNext().rot(),r=t.oNext().rot(),u=t.oNext(),f=n.oNext(),e=r.oNext(),o=i.oNext();n.setNext(u);t.setNext(f);i.setNext(e);r.setNext(o)};dt.connect=function(n,t){var i=dt.makeEdge(n.dest(),t.orig());return dt.splice(i,n.lNext()),dt.splice(i.sym(),t),i};t(ea.prototype,{insertSite:function(n){var t=this.subdiv.locate(n),i,r,u;if(this.subdiv.isVertexOfEdge(t,n))return t;this.subdiv.isOnEdge(t,n.getCoordinate())&&(t=t.oPrev(),this.subdiv.delete(t.oNext()));i=this.subdiv.makeEdge(t.orig(),n);dt.splice(i,t);r=i;do i=this.subdiv.connect(t,i.sym()),t=i.oPrev();while(t.lNext()!==r);for(;;)if(u=t.oPrev(),u.dest().rightOf(t)&&n.isInCircle(t.orig(),u.dest(),t.dest()))dt.swap(t),t=t.oPrev();else{if(t.oNext()===r)return i;t=t.oNext().lPrev()}},insertSites:function(n){for(var i,t=n.iterator();t.hasNext();)i=t.next(),this.insertSite(i)},interfaces_:function(){return[]},getClass:function(){return ea}});t(sb.prototype,{locate:function(){},interfaces_:function(){return[]},getClass:function(){return sb}});t(dy.prototype,{init:function(){this.lastEdge=this.findEdge()},locate:function(n){this.lastEdge.isLive()||this.init();var t=this.subdiv.locateFromEdge(n,this.lastEdge);return this.lastEdge=t,t},findEdge:function(){return this.subdiv.getEdges().iterator().next()},interfaces_:function(){return[sb]},getClass:function(){return dy}});y(wh,li);t(wh.prototype,{getSegment:function(){return this.seg},interfaces_:function(){return[]},getClass:function(){return wh}});wh.msgWithSpatial=function(n,t){return null!==t?n+" [ "+t+" ]":n};t(bh.prototype,{visit:function(){},interfaces_:function(){return[]},getClass:function(){return bh}});t(eu.prototype,{getTriangleVertices:function(n){var t=new tp;return this.visitTriangles(t,n),t.getTriangleVertices()},isFrameVertex:function(n){return!!n.equals(this.frameVertex[0])||!!n.equals(this.frameVertex[1])||!!n.equals(this.frameVertex[2])},isVertexOfEdge:function(n,t){return!(!t.equals(n.orig(),this.tolerance)&&!t.equals(n.dest(),this.tolerance))},connect:function(n,t){var i=dt.connect(n,t);return this.quadEdges.add(i),i},getVoronoiCellPolygon:function(n,t){var r=new u,f=n,e,i;do e=n.rot().orig().getCoordinate(),r.add(e),n=n.oPrev();while(n!==f);i=new gt;i.addAll(r,!1);i.closeRing();i.size()<4&&(pt.out.println(i),i.add(i.get(i.size()-1),!0));var s=i.toCoordinateArray(),o=t.createPolygon(t.createLinearRing(s),null),h=f.orig();return o.setUserData(h.getCoordinate()),o},setLocator:function(n){this.locator=n},initSubdiv:function(){var n=this.makeEdge(this.frameVertex[0],this.frameVertex[1]),i=this.makeEdge(this.frameVertex[1],this.frameVertex[2]),t;return dt.splice(n.sym(),i),t=this.makeEdge(this.frameVertex[2],this.frameVertex[0]),dt.splice(i.sym(),t),dt.splice(t.sym(),n),n},isFrameBorderEdge:function(n){var u=new Array(3).fill(null),t,i,r;return(eu.getTriangleEdges(n,u),t=new Array(3).fill(null),eu.getTriangleEdges(n.sym(),t),i=n.lNext().dest(),this.isFrameVertex(i))?!0:(r=n.sym().lNext().dest(),!!this.isFrameVertex(r))},makeEdge:function(n,t){var i=dt.makeEdge(n,t);return this.quadEdges.add(i),i},visitTriangles:function(n,t){var i,r,u,f;for(this.visitedKey++,i=new tr,i.push(this.startingEdge),r=new ai;!i.empty();)u=i.pop(),r.contains(u)||(f=this.fetchTriangleToVisit(u,i,t,r),null!==f&&n.visit(f))},isFrameEdge:function(n){return!(!this.isFrameVertex(n.orig())&&!this.isFrameVertex(n.dest()))},isOnEdge:function(n,t){return this.seg.setCoordinates(n.orig().getCoordinate(),n.dest().getCoordinate()),this.seg.distance(t)<this.edgeCoincidenceTolerance},getEnvelope:function(){return new p(this.frameEnv)},createFrame:function(n){var i=n.getWidth(),r=n.getHeight(),t=0;t=i>r?10*i:10*r;this.frameVertex[0]=new ot((n.getMaxX()+n.getMinX())/2,n.getMaxY()+t);this.frameVertex[1]=new ot(n.getMinX()-t,n.getMinY()-t);this.frameVertex[2]=new ot(n.getMaxX()+t,n.getMinY()-t);this.frameEnv=new p(this.frameVertex[0].getCoordinate(),this.frameVertex[1].getCoordinate());this.frameEnv.expandToInclude(this.frameVertex[2].getCoordinate())},getTriangleCoordinates:function(n){var t=new ip;return this.visitTriangles(t,n),t.getTriangles()},getVertices:function(n){for(var r,u,f,t=new ai,i=this.quadEdges.iterator();i.hasNext();)r=i.next(),u=r.orig(),!n&&this.isFrameVertex(u)||t.add(u),f=r.dest(),!n&&this.isFrameVertex(f)||t.add(f);return t},fetchTriangleToVisit:function(n,t,i,r){var u=n,e=0,o=!1,f;do this.triEdges[e]=u,this.isFrameEdge(u)&&(o=!0),f=u.sym(),r.contains(f)||t.push(f),r.add(u),e++,u=u.lNext();while(u!==n);return o&&!i?null:this.triEdges},getEdges:function(){var n;if(0===arguments.length)return this.quadEdges;if(1===arguments.length){for(var t=arguments[0],i=this.getPrimaryEdges(!1),r=new Array(i.size()).fill(null),f=0,u=i.iterator();u.hasNext();)n=u.next(),r[f++]=t.createLineString([n.orig().getCoordinate(),n.dest().getCoordinate()]);return t.createMultiLineString(r)}},getVertexUniqueEdges:function(n){for(var i,r,o,f,e=new u,t=new ai,s=this.quadEdges.iterator();s.hasNext();)i=s.next(),r=i.orig(),t.contains(r)||(t.add(r),!n&&this.isFrameVertex(r)||e.add(i)),o=i.sym(),f=o.orig(),t.contains(f)||(t.add(f),!n&&this.isFrameVertex(f)||e.add(o));return e},getTriangleEdges:function(n){var t=new np;return this.visitTriangles(t,n),t.getTriangleEdges()},getPrimaryEdges:function(n){var f,i,r,t,e;for(this.visitedKey++,f=new u,i=new tr,i.push(this.startingEdge),r=new ai;!i.empty();)t=i.pop(),r.contains(t)||(e=t.getPrimary(),!n&&this.isFrameEdge(e)||f.add(e),i.push(t.oNext()),i.push(t.sym().oNext()),r.add(t),r.add(t.sym()));return f},"delete":function(n){dt.splice(n,n.oPrev());dt.splice(n.sym(),n.sym().oPrev());var t=n.sym(),i=n.rot(),r=n.rot().sym();this.quadEdges.remove(n);this.quadEdges.remove(t);this.quadEdges.remove(i);this.quadEdges.remove(r);n.delete();t.delete();i.delete();r.delete()},locateFromEdge:function(n,t){for(var r=0,u=this.quadEdges.size(),i=t;;){if(++r>u)throw new wh(i.toLineSegment());if(n.equals(i.orig())||n.equals(i.dest()))break;if(n.rightOf(i))i=i.sym();else if(n.rightOf(i.oNext())){if(n.rightOf(i.dPrev()))break;i=i.dPrev()}else i=i.oNext()}return i},getTolerance:function(){return this.tolerance},getVoronoiCellPolygons:function(n){var r;this.visitTriangles(new gy,!0);for(var t=new u,f=this.getVertexUniqueEdges(!1),i=f.iterator();i.hasNext();)r=i.next(),t.add(this.getVoronoiCellPolygon(r,n));return t},getVoronoiDiagram:function(n){var t=this.getVoronoiCellPolygons(n);return n.createGeometryCollection(g.toGeometryArray(t))},getTriangles:function(n){for(var u,t=this.getTriangleCoordinates(!1),i=new Array(t.size()).fill(null),f=0,r=t.iterator();r.hasNext();)u=r.next(),i[f++]=n.createPolygon(n.createLinearRing(u),null);return n.createGeometryCollection(i)},insertSite:function(n){var t=this.locate(n),i,r;if(n.equals(t.orig(),this.tolerance)||n.equals(t.dest(),this.tolerance))return t;i=this.makeEdge(t.orig(),n);dt.splice(i,t);r=i;do i=this.connect(t,i.sym()),t=i.oPrev();while(t.lNext()!==r);return r},locate:function(){var u,f,i,n;if(1===arguments.length){if(arguments[0]instanceof ot)return u=arguments[0],this.locator.locate(u);if(arguments[0]instanceof r)return f=arguments[0],this.locator.locate(new ot(f))}else if(2===arguments.length){var e=arguments[0],o=arguments[1],t=this.locator.locate(new ot(e));if(null===t)return null;i=t;t.dest().getCoordinate().equals2D(e)&&(i=t.sym());n=i;do{if(n.dest().getCoordinate().equals2D(o))return n;n=n.oNext()}while(n!==i);return null}},interfaces_:function(){return[]},getClass:function(){return eu}});eu.getTriangleEdges=function(n,t){if(t[0]=n,t[1]=t[0].lNext(),t[2]=t[1].lNext(),t[2].lNext()!==t[0])throw new ft("Edges do not form a triangle");};t(gy.prototype,{visit:function(n){for(var i=n[0].orig().getCoordinate(),r=n[1].orig().getCoordinate(),u=n[2].orig().getCoordinate(),f=vt.circumcentre(i,r,u),e=new ot(f),t=0;t<3;t++)n[t].rot().setOrig(e)},interfaces_:function(){return[bh]},getClass:function(){return gy}});t(np.prototype,{getTriangleEdges:function(){return this.triList},visit:function(n){this.triList.add(n.clone())},interfaces_:function(){return[bh]},getClass:function(){return np}});t(tp.prototype,{visit:function(n){this.triList.add([n[0].orig(),n[1].orig(),n[2].orig()])},getTriangleVertices:function(){return this.triList},interfaces_:function(){return[bh]},getClass:function(){return tp}});t(ip.prototype,{checkTriangleSize:function(n){n.length>=2?wi.toLineString(n[0],n[1]):n.length>=1&&wi.toPoint(n[0])},visit:function(n){var t,r,i;for(this.coordList.clear(),t=0;t<3;t++)r=n[t].orig(),this.coordList.add(r.getCoordinate());if(this.coordList.size()>0){if(this.coordList.closeRing(),i=this.coordList.toCoordinateArray(),4!==i.length)return null;this.triCoords.add(i)}},getTriangles:function(){return this.triCoords},interfaces_:function(){return[bh]},getClass:function(){return ip}});eu.TriangleCircumcentreVisitor=gy;eu.TriangleEdgesListVisitor=np;eu.TriangleVertexListVisitor=tp;eu.TriangleCoordinatesVisitor=ip;eu.EDGE_COINCIDENCE_TOL_FACTOR=1e3;t(ys.prototype,{getLineSegment:function(){return this.ls},getEndZ:function(){return this.ls.getCoordinate(1).z},getStartZ:function(){return this.ls.getCoordinate(0).z},intersection:function(n){return this.ls.intersection(n.getLineSegment())},getStart:function(){return this.ls.getCoordinate(0)},getEnd:function(){return this.ls.getCoordinate(1)},getEndY:function(){return this.ls.getCoordinate(1).y},getStartX:function(){return this.ls.getCoordinate(0).x},equalsTopo:function(n){return this.ls.equalsTopo(n.getLineSegment())},getStartY:function(){return this.ls.getCoordinate(0).y},setData:function(n){this.data=n},getData:function(){return this.data},getEndX:function(){return this.ls.getCoordinate(1).x},toString:function(){return this.ls.toString()},interfaces_:function(){return[]},getClass:function(){return ys}});t(oa.prototype,{visit:function(){},interfaces_:function(){return[]},getClass:function(){return oa}});t(rp.prototype,{isRepeated:function(){return this.count>1},getRight:function(){return this.right},getCoordinate:function(){return this.p},setLeft:function(n){this.left=n},getX:function(){return this.p.x},getData:function(){return this.data},getCount:function(){return this.count},getLeft:function(){return this.left},getY:function(){return this.p.y},increment:function(){this.count=this.count+1},setRight:function(n){this.right=n},interfaces_:function(){return[]},getClass:function(){return rp}});t(ps.prototype,{insert:function(){var r,n,i,t;return 1===arguments.length?(r=arguments[0],this.insert(r,null)):2===arguments.length?(n=arguments[0],i=arguments[1],null===this.root)?(this.root=new rp(n,i),this.root):this.tolerance>0&&(t=this.findBestMatchNode(n),null!==t)?(t.increment(),t):this.insertExact(n,i):void 0},query:function(){var t,n,i,r,f,e;if(1===arguments.length)return t=arguments[0],n=new u,this.query(t,n),n;2===arguments.length&&(arguments[0]instanceof p&&l(arguments[1],ei)?(i=arguments[0],r=arguments[1],this.queryNode(this.root,i,!0,{interfaces_:function(){return[oa]},visit:function(n){r.add(n)}})):arguments[0]instanceof p&&l(arguments[1],oa)&&(f=arguments[0],e=arguments[1],this.queryNode(this.root,f,!0,e)))},queryNode:function(n,t,i,r){var o,s;if(null===n)return null;var f=null,e=null,u=null;i?(f=t.getMinX(),e=t.getMaxX(),u=n.getX()):(f=t.getMinY(),e=t.getMaxY(),u=n.getY());o=f<u;s=u<=e;o&&this.queryNode(n.getLeft(),t,!i,r);t.contains(n.getCoordinate())&&r.visit(n);s&&this.queryNode(n.getRight(),t,!i,r)},findBestMatchNode:function(n){var t=new up(n,this.tolerance);return this.query(t.queryEnvelope(),t),t.getNode()},isEmpty:function(){return null===this.root},insertExact:function(n,t){for(var r,i=this.root,u=this.root,f=!0,e=!0;null!==i;){if(null!==i&&n.distance(i.getCoordinate())<=this.tolerance)return i.increment(),i;e=f?n.x<i.getX():n.y<i.getY();u=i;i=e?i.getLeft():i.getRight();f=!f}return this.numberOfNodes=this.numberOfNodes+1,r=new rp(n,t),e?u.setLeft(r):u.setRight(r),r},interfaces_:function(){return[]},getClass:function(){return ps}});ps.toCoordinates=function(){var n;if(1===arguments.length)return n=arguments[0],ps.toCoordinates(n,!1);if(2===arguments.length){for(var f=arguments[0],e=arguments[1],t=new gt,i=f.iterator();i.hasNext();)for(var r=i.next(),o=e?r.getCount():1,u=0;u<o;u++)t.add(r.getCoordinate(),!0);return t.toCoordinateArray()}};t(up.prototype,{visit:function(n){var t=this.p.distance(n.getCoordinate()),i;if(!(t<=this.tolerance))return null;i=!1;(null===this.matchNode||t<this.matchDist||null!==this.matchNode&&t===this.matchDist&&n.getCoordinate().compareTo(this.matchNode.getCoordinate())<1)&&(i=!0);i&&(this.matchNode=n,this.matchDist=t)},queryEnvelope:function(){var n=new p(this.p);return n.expandBy(this.tolerance),n},getNode:function(){return this.matchNode},interfaces_:function(){return[oa]},getClass:function(){return up}});ps.BestMatchVisitor=up;t(po.prototype,{getInitialVertices:function(){return this.initialVertices},getKDT:function(){return this.kdt},enforceConstraints:function(){this.addConstraintVertices();var n=0,t=0;do t=this.enforceGabriel(this.segments),n++;while(t>0&&n<po.MAX_SPLIT_ITER)},insertSites:function(n){for(var i,t=n.iterator();t.hasNext();)i=t.next(),this.insertSite(i)},getVertexFactory:function(){return this.vertexFactory},getPointArray:function(){for(var i,n,t=new Array(this.initialVertices.size()+this.segVertices.size()).fill(null),r=0,u=this.initialVertices.iterator();u.hasNext();)n=u.next(),t[r++]=n.getCoordinate();for(i=this.segVertices.iterator();i.hasNext();)n=i.next(),t[r++]=n.getCoordinate();return t},setConstraints:function(n,t){this.segments=n;this.segVertices=t},computeConvexHull:function(){var n=new g,t=this.getPointArray(),i=new ie(t,n);this.convexHull=i.getConvexHull()},addConstraintVertices:function(){this.computeConvexHull();this.insertSites(this.segVertices)},findNonGabrielPoint:function(n){var i=n.getStart(),u=n.getEnd(),f=new r((i.x+u.x)/2,(i.y+u.y)/2),h=i.distance(f),c=new p(f),y,t,o,s;c.expandBy(h);for(var w=this.kdt.query(c),e=null,l=a.MAX_VALUE,v=w.iterator();v.hasNext();)y=v.next(),t=y.getCoordinate(),t.equals2D(i)||t.equals2D(u)||(o=f.distance(t),o<h&&(s=o,(null===e||s<l)&&(e=t,l=s)));return e},getConstraintSegments:function(){return this.segments},setSplitPointFinder:function(n){this.splitFinder=n},getConvexHull:function(){return this.convexHull},getTolerance:function(){return this.tolerance},enforceGabriel:function(n){for(var t,f,r=new u,e=0,o=new u,s=n.iterator();s.hasNext();)if(t=s.next(),f=this.findNonGabrielPoint(t),null!==f){this.splitPt=this.splitFinder.findSplitPoint(t,f);var i=this.createVertex(this.splitPt,t),h=(this.insertSite(i),new ys(t.getStartX(),t.getStartY(),t.getStartZ(),i.getX(),i.getY(),i.getZ(),t.getData())),c=new ys(i.getX(),i.getY(),i.getZ(),t.getEndX(),t.getEndY(),t.getEndZ(),t.getData());r.add(h);r.add(c);o.add(t);e+=1}return n.removeAll(o),n.addAll(r),e},createVertex:function(){var t,n;if(1===arguments.length)return t=arguments[0],n=null,null!==this.vertexFactory?this.vertexFactory.createVertex(t,null):new yo(t);if(2===arguments.length){var i=arguments[0],r=arguments[1],n=null;return n=null!==this.vertexFactory?this.vertexFactory.createVertex(i,r):new yo(i),n.setOnConstraint(!0),n}},getSubdivision:function(){return this.subdiv},computeBoundingBox:function(){var t=po.computeVertexEnvelope(this.initialVertices),i=po.computeVertexEnvelope(this.segVertices),n=new p(t);n.expandToInclude(i);var r=.2*n.getWidth(),u=.2*n.getHeight(),f=Math.max(r,u);this.computeAreaEnv=new p(n);this.computeAreaEnv.expandBy(f)},setVertexFactory:function(n){this.vertexFactory=n},formInitialDelaunay:function(){this.computeBoundingBox();this.subdiv=new eu(this.computeAreaEnv,this.tolerance);this.subdiv.setLocator(new dy(this.subdiv));this.incDel=new ea(this.subdiv);this.insertSites(this.initialVertices)},insertSite:function(){var n,t,i,u;if(arguments[0]instanceof yo)return(n=arguments[0],t=this.kdt.insert(n.getCoordinate(),n),t.isRepeated())?(i=t.getData(),i.merge(n),i):(this.incDel.insertSite(n),n);arguments[0]instanceof r&&(u=arguments[0],this.insertSite(this.createVertex(u)))},interfaces_:function(){return[]},getClass:function(){return po}});po.computeVertexEnvelope=function(n){for(var r,t=new p,i=n.iterator();i.hasNext();)r=i.next(),t.expandToInclude(r.getCoordinate());return t};po.MAX_SPLIT_ITER=99;t(di.prototype,{create:function(){if(null!==this.subdiv)return null;var n=di.envelope(this.siteCoords),t=di.toVertices(this.siteCoords);this.subdiv=new eu(n,this.tolerance);new ea(this.subdiv).insertSites(t)},setTolerance:function(n){this.tolerance=n},setSites:function(){var n,t;arguments[0]instanceof h?(n=arguments[0],this.siteCoords=di.extractUniqueCoordinates(n)):l(arguments[0],yt)&&(t=arguments[0],this.siteCoords=di.unique(w.toCoordinateArray(t)))},getEdges:function(n){return this.create(),this.subdiv.getEdges(n)},getSubdivision:function(){return this.create(),this.subdiv},getTriangles:function(n){return this.create(),this.subdiv.getTriangles(n)},interfaces_:function(){return[]},getClass:function(){return di}});di.extractUniqueCoordinates=function(n){if(null===n)return new gt;var t=n.getCoordinates();return di.unique(t)};di.envelope=function(n){for(var r,t=new p,i=n.iterator();i.hasNext();)r=i.next(),t.expandToInclude(r);return t};di.unique=function(n){var t=w.copyDeep(n);return kf.sort(t),new gt(t,!1)};di.toVertices=function(n){for(var r,t=new u,i=n.iterator();i.hasNext();)r=i.next(),t.add(new ot(r));return t};t(kh.prototype,{createSiteVertices:function(n){for(var r,t=new u,i=n.iterator();i.hasNext();)r=i.next(),this.constraintVertexMap.containsKey(r)||t.add(new yo(r));return t},create:function(){var i,t,r,n;if(null!==this.subdiv)return null;i=di.envelope(this.siteCoords);t=new u;null!==this.constraintLines&&(i.expandToInclude(this.constraintLines.getEnvelopeInternal()),this.createVertices(this.constraintLines),t=kh.createConstraintSegments(this.constraintLines));r=this.createSiteVertices(this.siteCoords);n=new po(r,this.tolerance);n.setConstraints(t,new u(this.constraintVertexMap.values()));n.formInitialDelaunay();n.enforceConstraints();this.subdiv=n.getSubdivision()},setTolerance:function(n){this.tolerance=n},setConstraints:function(n){this.constraintLines=n},setSites:function(n){this.siteCoords=di.extractUniqueCoordinates(n)},getEdges:function(n){return this.create(),this.subdiv.getEdges(n)},getSubdivision:function(){return this.create(),this.subdiv},getTriangles:function(n){return this.create(),this.subdiv.getTriangles(n)},createVertices:function(n){for(var r,i=n.getCoordinates(),t=0;t<i.length;t++)r=new yo(i[t]),this.constraintVertexMap.put(i[t],r)},interfaces_:function(){return[]},getClass:function(){return kh}});kh.createConstraintSegments=function(){var r;if(1===arguments.length){for(var f=arguments[0],e=bi.getLines(f),i=new u,n=e.iterator();n.hasNext();)r=n.next(),kh.createConstraintSegments(r,i);return i}if(2===arguments.length)for(var o=arguments[0],s=arguments[1],t=o.getCoordinates(),n=1;n<t.length;n++)s.add(new ys(t[n-1],t[n]))};t(sa.prototype,{create:function(){var n,t,i;if(null!==this.subdiv)return null;n=di.envelope(this.siteCoords);this.diagramEnv=n;t=Math.max(this.diagramEnv.getWidth(),this.diagramEnv.getHeight());this.diagramEnv.expandBy(t);null!==this.clipEnv&&this.diagramEnv.expandToInclude(this.clipEnv);i=di.toVertices(this.siteCoords);this.subdiv=new eu(n,this.tolerance);new ea(this.subdiv).insertSites(i)},getDiagram:function(n){this.create();var t=this.subdiv.getVoronoiDiagram(n);return sa.clipGeometryCollection(t,this.diagramEnv)},setTolerance:function(n){this.tolerance=n},setSites:function(){var n,t;arguments[0]instanceof h?(n=arguments[0],this.siteCoords=di.extractUniqueCoordinates(n)):l(arguments[0],yt)&&(t=arguments[0],this.siteCoords=di.unique(w.toCoordinateArray(t)))},setClipEnvelope:function(n){this.clipEnv=n},getSubdivision:function(){return this.create(),this.subdiv},interfaces_:function(){return[]},getClass:function(){return sa}});sa.clipGeometryCollection=function(n,t){for(var r,i,o=n.getFactory().toGeometry(t),e=new u,f=0;f<n.getNumGeometries();f++)r=n.getGeometryN(f),i=null,t.contains(r.getEnvelopeInternal())?i=r:t.intersects(r.getEnvelopeInternal())&&(i=o.intersection(r),i.setUserData(r.getUserData())),null===i||i.isEmpty()||e.add(i);return n.getFactory().createGeometryCollection(g.toGeometryArray(e))};vk=Object.freeze({Vertex:ot});yk=Object.freeze({ConformingDelaunayTriangulationBuilder:kh,DelaunayTriangulationBuilder:di,VoronoiDiagramBuilder:sa,quadedge:vk});t(ci.prototype,{getSegmentIndex:function(){return this.segmentIndex},getComponentIndex:function(){return this.componentIndex},isEndpoint:function(n){var i=n.getGeometryN(this.componentIndex),t=i.getNumPoints()-1;return this.segmentIndex>=t||this.segmentIndex===t&&this.segmentFraction>=1},isValid:function(n){if(this.componentIndex<0||this.componentIndex>=n.getNumGeometries())return!1;var t=n.getGeometryN(this.componentIndex);return!(this.segmentIndex<0||this.segmentIndex>t.getNumPoints())&&(this.segmentIndex!==t.getNumPoints()||0===this.segmentFraction)&&!(this.segmentFraction<0||this.segmentFraction>1)},normalize:function(){this.segmentFraction<0&&(this.segmentFraction=0);this.segmentFraction>1&&(this.segmentFraction=1);this.componentIndex<0&&(this.componentIndex=0,this.segmentIndex=0,this.segmentFraction=0);this.segmentIndex<0&&(this.segmentIndex=0,this.segmentFraction=0);1===this.segmentFraction&&(this.segmentFraction=0,this.segmentIndex+=1)},toLowest:function(n){var i=n.getGeometryN(this.componentIndex),t=i.getNumPoints()-1;return this.segmentIndex<t?this:new ci(this.componentIndex,t,1,!1)},getCoordinate:function(n){var t=n.getGeometryN(this.componentIndex),i=t.getCoordinateN(this.segmentIndex),r;return this.segmentIndex>=t.getNumPoints()-1?i:(r=t.getCoordinateN(this.segmentIndex+1),ci.pointAlongSegmentByFraction(i,r,this.segmentFraction))},getSegmentFraction:function(){return this.segmentFraction},getSegment:function(n){var t=n.getGeometryN(this.componentIndex),i=t.getCoordinateN(this.segmentIndex);return this.segmentIndex>=t.getNumPoints()-1?new b(t.getCoordinateN(t.getNumPoints()-2),i):new b(i,t.getCoordinateN(this.segmentIndex+1))},clamp:function(n){if(this.componentIndex>=n.getNumGeometries())return this.setToEnd(n),null;if(this.segmentIndex>=n.getNumPoints()){var t=n.getGeometryN(this.componentIndex);this.segmentIndex=t.getNumPoints()-1;this.segmentFraction=1}},setToEnd:function(n){this.componentIndex=n.getNumGeometries()-1;var t=n.getGeometryN(this.componentIndex);this.segmentIndex=t.getNumPoints()-1;this.segmentFraction=1},compareTo:function(n){var t=n;return this.componentIndex<t.componentIndex?-1:this.componentIndex>t.componentIndex?1:this.segmentIndex<t.segmentIndex?-1:this.segmentIndex>t.segmentIndex?1:this.segmentFraction<t.segmentFraction?-1:this.segmentFraction>t.segmentFraction?1:0},clone:function(){return new ci(this.componentIndex,this.segmentIndex,this.segmentFraction)},toString:function(){return"LinearLoc["+this.componentIndex+", "+this.segmentIndex+", "+this.segmentFraction+"]"},isOnSameSegment:function(n){return this.componentIndex===n.componentIndex&&(this.segmentIndex===n.segmentIndex||n.segmentIndex-this.segmentIndex==1&&0===n.segmentFraction||this.segmentIndex-n.segmentIndex==1&&0===this.segmentFraction)},snapToVertex:function(n,t){if(this.segmentFraction<=0||this.segmentFraction>=1)return null;var u=this.getSegmentLength(n),i=this.segmentFraction*u,r=u-i;i<=r&&i<t?this.segmentFraction=0:r<=i&&r<t&&(this.segmentFraction=1)},compareLocationValues:function(n,t,i){return this.componentIndex<n?-1:this.componentIndex>n?1:this.segmentIndex<t?-1:this.segmentIndex>t?1:this.segmentFraction<i?-1:this.segmentFraction>i?1:0},getSegmentLength:function(n){var t=n.getGeometryN(this.componentIndex),i=this.segmentIndex,r,u;return this.segmentIndex>=t.getNumPoints()-1&&(i=t.getNumPoints()-2),r=t.getCoordinateN(i),u=t.getCoordinateN(i+1),r.distance(u)},isVertex:function(){return this.segmentFraction<=0||this.segmentFraction>=1},interfaces_:function(){return[ur]},getClass:function(){return ci}});ci.getEndLocation=function(n){var t=new ci;return t.setToEnd(n),t};ci.pointAlongSegmentByFraction=function(n,t,i){return i<=0?n:i>=1?t:new r((t.x-n.x)*i+n.x,(t.y-n.y)*i+n.y,(t.z-n.z)*i+n.z)};ci.compareLocationValues=function(n,t,i,r,u,f){return n<r?-1:n>r?1:t<u?-1:t>u?1:i<f?-1:i>f?1:0};t(tf.prototype,{getComponentIndex:function(){return this.componentIndex},getLine:function(){return this.currentLine},getVertexIndex:function(){return this.vertexIndex},getSegmentEnd:function(){return this.vertexIndex<this.getLine().getNumPoints()-1?this.currentLine.getCoordinateN(this.vertexIndex+1):null},next:function(){if(!this.hasNext())return null;++this.vertexIndex>=this.currentLine.getNumPoints()&&(this.componentIndex++,this.loadCurrentLine(),this.vertexIndex=0)},loadCurrentLine:function(){if(this.componentIndex>=this.numLines)return this.currentLine=null,null;this.currentLine=this.linearGeom.getGeometryN(this.componentIndex)},getSegmentStart:function(){return this.currentLine.getCoordinateN(this.vertexIndex)},isEndOfLine:function(){return!(this.componentIndex>=this.numLines)&&!(this.vertexIndex<this.currentLine.getNumPoints()-1)},hasNext:function(){return!(this.componentIndex>=this.numLines)&&!(this.componentIndex===this.numLines-1&&this.vertexIndex>=this.currentLine.getNumPoints())},interfaces_:function(){return[]},getClass:function(){return tf}});tf.segmentEndVertexIndex=function(n){return n.getSegmentFraction()>0?n.getSegmentIndex()+1:n.getSegmentIndex()};t(he.prototype,{indexOf:function(n){return this.indexOfFromStart(n,null)},indexOfFromStart:function(n,t){for(var u=a.MAX_VALUE,f=0,e=0,o=-1,r=new b,i=new tf(this.linearGeom);i.hasNext();i.next())if(!i.isEndOfLine()){r.p0=i.getSegmentStart();r.p1=i.getSegmentEnd();var s=r.distance(n),h=r.segmentFraction(n),c=i.getComponentIndex(),l=i.getVertexIndex();s<u&&(null===t||t.compareLocationValues(c,l,h)<0)&&(f=c,e=l,o=h,u=s)}return u===a.MAX_VALUE?new ci(t):new ci(f,e,o)},indexOfAfter:function(n,t){var i,r;return null===t?this.indexOf(n):(i=ci.getEndLocation(this.linearGeom),i.compareTo(t)<=0)?i:(r=this.indexOfFromStart(n,t),c.isTrue(r.compareTo(t)>=0,"computed location is before specified minimum location"),r)},interfaces_:function(){return[]},getClass:function(){return he}});he.indexOf=function(n,t){return new he(n).indexOf(t)};he.indexOfAfter=function(n,t,i){return new he(n).indexOfAfter(t,i)};t(dh.prototype,{indicesOf:function(n){var u=n.getGeometryN(0).getCoordinateN(0),i=n.getGeometryN(n.getNumGeometries()-1),f=i.getCoordinateN(i.getNumPoints()-1),r=new he(this.linearGeom),t=new Array(2).fill(null);return t[0]=r.indexOf(u),t[1]=0===n.getLength()?t[0].clone():r.indexOfAfter(f,t[0]),t},interfaces_:function(){return[]},getClass:function(){return dh}});dh.indicesOf=function(n,t){return new dh(n).indicesOf(t)};t(fp.prototype,{getGeometry:function(){return this.endLine(),this.geomFact.buildGeometry(this.lines)},getLastCoordinate:function(){return this.lastPt},endLine:function(){var n,i,t;if(null===this.coordList)return null;if(this.ignoreInvalidLines&&this.coordList.size()<2)return this.coordList=null,null;n=this.coordList.toCoordinateArray();i=n;this.fixInvalidLines&&(i=this.validCoordinateSequence(n));this.coordList=null;t=null;try{t=this.geomFact.createLineString(i)}catch(n){if(!(n instanceof ft))throw n;if(!this.ignoreInvalidLines)throw n;}null!==t&&this.lines.add(t)},setFixInvalidLines:function(n){this.fixInvalidLines=n},add:function(){var t,n,i;1===arguments.length?(t=arguments[0],this.add(t,!0)):2===arguments.length&&(n=arguments[0],i=arguments[1],null===this.coordList&&(this.coordList=new gt),this.coordList.add(n,i),this.lastPt=n)},setIgnoreInvalidLines:function(n){this.ignoreInvalidLines=n},validCoordinateSequence:function(n){return n.length>=2?n:[n[0],n[0]]},interfaces_:function(){return[]},getClass:function(){return fp}});t(gh.prototype,{computeLinear:function(n,t){var r=new fp(this.line.getFactory()),i,u;for(r.setFixInvalidLines(!0),n.isVertex()||r.add(n.getCoordinate(this.line)),i=new tf(this.line,n);i.hasNext()&&!(t.compareLocationValues(i.getComponentIndex(),i.getVertexIndex(),0)<0);i.next())u=i.getSegmentStart(),r.add(u),i.isEndOfLine()&&r.endLine();return t.isVertex()||r.add(t.getCoordinate(this.line)),r.getGeometry()},computeLine:function(n,t){var e=this.line.getCoordinates(),i=new gt,o=n.getSegmentIndex(),u,f,r;for(n.getSegmentFraction()>0&&(o+=1),u=t.getSegmentIndex(),1===t.getSegmentFraction()&&(u+=1),u>=e.length&&(u=e.length-1),n.isVertex()||i.add(n.getCoordinate(this.line)),f=o;f<=u;f++)i.add(e[f]);return t.isVertex()||i.add(t.getCoordinate(this.line)),i.size()<=0&&i.add(n.getCoordinate(this.line)),r=i.toCoordinateArray(),r.length<=1&&(r=[r[0],r[0]]),this.line.getFactory().createLineString(r)},extract:function(n,t){return t.compareTo(n)<0?this.reverse(this.computeLinear(t,n)):this.computeLinear(n,t)},reverse:function(n){return n instanceof d?n.reverse():n instanceof nr?n.reverse():(c.shouldNeverReachHere("non-linear geometry encountered"),null)},interfaces_:function(){return[]},getClass:function(){return gh}});gh.extract=function(n,t,i){return new gh(n).extract(t,i)};t(ep.prototype,{clampIndex:function(n){var t=n.clone();return t.clamp(this.linearGeom),t},project:function(n){return he.indexOf(this.linearGeom,n)},checkGeometryType:function(){if(!(this.linearGeom instanceof d||this.linearGeom instanceof nr))throw new ft("Input geometry must be linear");},extractPoint:function(){if(1===arguments.length)return arguments[0].getCoordinate(this.linearGeom);if(2===arguments.length){var t=arguments[0],i=arguments[1],n=t.toLowest(this.linearGeom);return n.getSegment(this.linearGeom).pointAlongOffset(n.getSegmentFraction(),i)}},isValidIndex:function(n){return n.isValid(this.linearGeom)},getEndIndex:function(){return ci.getEndLocation(this.linearGeom)},getStartIndex:function(){return new ci},indexOfAfter:function(n,t){return he.indexOfAfter(this.linearGeom,n,t)},extractLine:function(n,t){return gh.extract(this.linearGeom,n,t)},indexOf:function(n){return he.indexOf(this.linearGeom,n)},indicesOf:function(n){return dh.indicesOf(this.linearGeom,n)},interfaces_:function(){return[]},getClass:function(){return ep}});t(be.prototype,{indexOf:function(n){return this.indexOfFromStart(n,-1)},indexOfFromStart:function(n,t){for(var u,f,e=a.MAX_VALUE,o=t,s=0,i=new b,r=new tf(this.linearGeom);r.hasNext();)r.isEndOfLine()||(i.p0=r.getSegmentStart(),i.p1=r.getSegmentEnd(),u=i.distance(n),f=this.segmentNearestMeasure(i,n,s),u<e&&f>t&&(o=f,e=u),s+=i.getLength()),r.next();return o},indexOfAfter:function(n,t){var i,r;return t<0?this.indexOf(n):(i=this.linearGeom.getLength(),i<t)?i:(r=this.indexOfFromStart(n,t),c.isTrue(r>=t,"computed index is before specified minimum index"),r)},segmentNearestMeasure:function(n,t,i){var r=n.projectionFactor(t);return r<=0?i:r<=1?i+r*n.getLength():i+n.getLength()},interfaces_:function(){return[]},getClass:function(){return be}});be.indexOf=function(n,t){return new be(n).indexOf(t)};be.indexOfAfter=function(n,t,i){return new be(n).indexOfAfter(t,i)};t(ou.prototype,{getLength:function(n){for(var i=0,t=new tf(this.linearGeom);t.hasNext();){if(!t.isEndOfLine()){var u=t.getSegmentStart(),f=t.getSegmentEnd(),r=f.distance(u);if(n.getComponentIndex()===t.getComponentIndex()&&n.getSegmentIndex()===t.getVertexIndex())return i+r*n.getSegmentFraction();i+=r}t.next()}return i},resolveHigher:function(n){if(!n.isEndpoint(this.linearGeom))return n;var t=n.getComponentIndex();if(t>=this.linearGeom.getNumGeometries()-1)return n;do t++;while(t<this.linearGeom.getNumGeometries()-1&&0===this.linearGeom.getGeometryN(t).getLength());return new ci(t,0,0)},getLocation:function(){var i,t;if(1===arguments.length)return i=arguments[0],this.getLocation(i,!0);if(2===arguments.length){var n=arguments[0],u=arguments[1],r=n;return n<0&&(r=this.linearGeom.getLength()+n),t=this.getLocationForward(r),u?t:this.resolveHigher(t)}},getLocationForward:function(n){var i,t,r,u;if(n<=0)return new ci;for(i=0,t=new tf(this.linearGeom);t.hasNext();){if(t.isEndOfLine()){if(i===n)return r=t.getComponentIndex(),u=t.getVertexIndex(),new ci(r,u,0)}else{var e=t.getSegmentStart(),o=t.getSegmentEnd(),f=o.distance(e);if(i+f>n){var s=(n-i)/f,r=t.getComponentIndex(),u=t.getVertexIndex();return new ci(r,u,s)}i+=f}t.next()}return ci.getEndLocation(this.linearGeom)},interfaces_:function(){return[]},getClass:function(){return ou}});ou.getLength=function(n,t){return new ou(n).getLength(t)};ou.getLocation=function(){if(2===arguments.length){var t=arguments[0],i=arguments[1],n=new ou(t);return n.getLocation(i)}if(3===arguments.length){var r=arguments[0],u=arguments[1],f=arguments[2],n=new ou(r);return n.getLocation(u,f)}};t(hb.prototype,{clampIndex:function(n){var t=this.positiveIndex(n),r=this.getStartIndex(),i;return t<r?r:(i=this.getEndIndex(),t>i?i:t)},locationOf:function(){var n,t,i;return 1===arguments.length?(n=arguments[0],ou.getLocation(this.linearGeom,n)):2===arguments.length?(t=arguments[0],i=arguments[1],ou.getLocation(this.linearGeom,t,i)):void 0},project:function(n){return be.indexOf(this.linearGeom,n)},positiveIndex:function(n){return n>=0?n:this.linearGeom.getLength()+n},extractPoint:function(){var t,n;if(1===arguments.length)return t=arguments[0],n=ou.getLocation(this.linearGeom,t),n.getCoordinate(this.linearGeom);if(2===arguments.length){var r=arguments[0],u=arguments[1],n=ou.getLocation(this.linearGeom,r),i=n.toLowest(this.linearGeom);return i.getSegment(this.linearGeom).pointAlongOffset(i.getSegmentFraction(),u)}},isValidIndex:function(n){return n>=this.getStartIndex()&&n<=this.getEndIndex()},getEndIndex:function(){return this.linearGeom.getLength()},getStartIndex:function(){return 0},indexOfAfter:function(n,t){return be.indexOfAfter(this.linearGeom,n,t)},extractLine:function(n,t){var i=(new ep(this.linearGeom),this.clampIndex(n)),r=this.clampIndex(t),u=i===r,f=this.locationOf(i,u),e=this.locationOf(r);return gh.extract(this.linearGeom,f,e)},indexOf:function(n){return be.indexOf(this.linearGeom,n)},indicesOf:function(n){var t=dh.indicesOf(this.linearGeom,n);return[ou.getLength(this.linearGeom,t[0]),ou.getLength(this.linearGeom,t[1])]},interfaces_:function(){return[]},getClass:function(){return hb}});pk=Object.freeze({LengthIndexedLine:hb,LengthLocationMap:ou,LinearGeometryBuilder:fp,LinearIterator:tf,LinearLocation:ci,LocationIndexedLine:ep});t(op.prototype,{interfaces_:function(){return[]},getClass:function(){return op}});op.union=function(n,t){if(n.isEmpty()||t.isEmpty()){if(n.isEmpty()&&t.isEmpty())return v.createEmptyResult(v.UNION,n,t,n.getFactory());if(n.isEmpty())return t.copy();if(t.isEmpty())return n.copy()}return n.checkNotGeometryCollection(n),n.checkNotGeometryCollection(t),hi.overlayOp(n,t,v.UNION)};t(h.prototype,{equalsTopo:function(n){return!!this.getEnvelopeInternal().equals(n.getEnvelopeInternal())&&ut.relate(this,n).isEquals(this.getDimension(),n.getDimension())},union:function(){if(0===arguments.length)return vo.union(this);if(1===arguments.length){var n=arguments[0];return op.union(this,n)}},isValid:function(){return uu.isValid(this)},intersection:function(n){if(this.isEmpty()||n.isEmpty())return v.createEmptyResult(v.INTERSECTION,this,n,this.factory);if(this.isGeometryCollection()){var t=n;return ih.map(this,{interfaces_:function(){return[MapOp]},map:function(n){return n.intersection(t)}})}return this.checkNotGeometryCollection(this),this.checkNotGeometryCollection(n),hi.overlayOp(this,n,v.INTERSECTION)},covers:function(n){return ut.covers(this,n)},coveredBy:function(n){return ut.coveredBy(this,n)},touches:function(n){return ut.touches(this,n)},intersects:function(n){return ut.intersects(this,n)},within:function(n){return ut.within(this,n)},overlaps:function(n){return ut.overlaps(this,n)},disjoint:function(n){return ut.disjoint(this,n)},crosses:function(n){return ut.crosses(this,n)},buffer:function(){var n,t,i;if(1===arguments.length)return n=arguments[0],pi.bufferOp(this,n);if(2===arguments.length)return t=arguments[0],i=arguments[1],pi.bufferOp(this,t,i);if(3===arguments.length){var r=arguments[0],u=arguments[1],f=arguments[2];return pi.bufferOp(this,r,u,f)}},convexHull:function(){return new ie(this).getConvexHull()},relate:function(){for(var t=arguments.length,i=Array(t),n=0;n<t;n++)i[n]=arguments[n];return ut.relate.apply(ut,[this].concat(i))},getCentroid:function(){if(this.isEmpty())return this.factory.createPoint();var n=te.getCentroid(this);return this.createPointFromInternalCoord(n,this)},getInteriorPoint:function(){var t,i,n;return this.isEmpty()?this.factory.createPoint():(t=null,i=this.getDimension(),0===i?(n=new kv(this),t=n.getInteriorPoint()):1===i?(n=new bv(this),t=n.getInteriorPoint()):(n=new du(this),t=n.getInteriorPoint()),this.createPointFromInternalCoord(t,this))},symDifference:function(n){if(this.isEmpty()||n.isEmpty()){if(this.isEmpty()&&n.isEmpty())return v.createEmptyResult(v.SYMDIFFERENCE,this,n,this.factory);if(this.isEmpty())return n.copy();if(n.isEmpty())return this.copy()}return this.checkNotGeometryCollection(this),this.checkNotGeometryCollection(n),hi.overlayOp(this,n,v.SYMDIFFERENCE)},createPointFromInternalCoord:function(n,t){return t.getPrecisionModel().makePrecise(n),t.getFactory().createPoint(n)},toText:function(){return(new wi).write(this)},toString:function(){this.toText()},contains:function(n){return ut.contains(this,n)},difference:function(n){return this.isEmpty()?v.createEmptyResult(v.DIFFERENCE,this,n,this.factory):n.isEmpty()?this.copy():(this.checkNotGeometryCollection(this),this.checkNotGeometryCollection(n),hi.overlayOp(this,n,v.DIFFERENCE))},isSimple:function(){return new el(this).isSimple()},isWithinDistance:function(n,t){return!(this.getEnvelopeInternal().distance(n.getEnvelopeInternal())>t)&&gu.isWithinDistance(this,n,t)},distance:function(n){return gu.distance(this,n)},isEquivalentClass:function(n){return this.getClass()===n.getClass()}});n.version="1.4.0 (93f117d)";n.algorithm=gb;n.densify=nk;n.dissolve=tk;n.geom=db;n.geomgraph=ik;n.index=ng;n.io=rk;n.noding=uk;n.operation=ug;n.precision=lk;n.simplify=ak;n.triangulate=yk;n.linearref=pk;Object.defineProperty(n,"__esModule",{value:!0})}),typeof console=="undefined"){var console={};console.log=console.error=console.info=console.debug=console.warn=console.trace=console.dir=console.dirxml=console.group=console.groupEnd=console.time=console.timeEnd=console.assert=console.profile=function(){}}(function(){var n,t,i;window.OGT=window.OGT||{};n=window.OGT.CONSTANTS=window.OGT.CONSTANTS||{};n.COLOURS={DEFAULT_ICON_COLOUR:"#767676",DEFAULT_RED:"#ff3333",WALK_LINE_COLOR:"#77BB00"};n.COOKIE={KEYS:{RECENT_FROM_SEARCH:"recentFromSearch5",RECENT_TO_SEARCH:"recentToSearch5",RECENT_PLACE_SEARCH:"recentPlaceSearch5",KC:"kc",ALERT_MESSAGE:"alertMessage",INFORMATION_BOARD_CLIENT_ID:"client_{0}",INFORMATION_BOARD_TOUCH_MODE:"touch",DEPARTURE_FILTER:"spDep{0}"},LAST_DAYS:90};n.JOURNEY_SEARCH={MAX_NUMBER_OF_RECENT_PLACES_TO_SAVE:5,MAX_NUMBER_OF_RECENT_SEARCHES_TO_SAVE:5};n.TRAFFIC_TYPE_GROUPS={"GRPGÅNG":"GRPGÅNG","GRPTÄTO":"GRPTÄTO",GRPLAND:"GRPLAND",GRPEXPRESS:"GRPEXPRESS","GRPTÅG":"GRPTÅG","GRPBÅT":"GRPBÅT","GRPNÄRTRAFIK":"GRPNÄRTRAFIK"};n.TRAFFIC_TYPES={NARTRAFIK:"NÄRTRAFIK"};n.SPECIAL_STOP_POINT_IDS={NARTRAFIK:"ä"};n.MAP={START_POSITION:[58.336445637231535,15.750482376095571],START_ZOOM:8,MAX_ZOOM:19,MIN_ZOOM:7,TRACK_AND_FOLLOW_ZOOM:16,STOP_POINT_ZOOM_LEVEL_CUT_OFF:16,MAX_ZOOM_LEVEL_WHEN_FIT_TO_BOUNDS:18,ZOOM_TO_POSITION_ZOOM:17,ICON_SVG_OFFSET:{X:64,Y:64},PROMOTE_ZINDEX_WHEN_HIGHLIT:1e6,HIGHLIT_LEVELS:{MARKER_UPSCALE_WHEN_HIGHER_THAN:{SIMPLE_MARKER_LAYER:1,VEHICLE:3},VEHICLES_FOR_JOURNEY_START_OR_END:2,VEHICLES_FOR_SELECTED_JOURNEY:2,VEHICLES_SHOW_DEPARTURE_ON_MAP:4,VEHICLE_SHOW_TRACK:3,VEHICLE_CLICK:4,JOURNEY_CLICK_ZOOM_TO_START_OR_END:2,JOURNEY_SHOW_ON_MAP:2,JOURNEY_ZOOM_TO_ROUTELINKS_AND_PLACES:2,MAP_MENU_TRAVEL_FROM_OR_TO:2,MAP_MENU_ALL_LINES_SELECT_LINE:1,MAP_MENU_ALL_STOPS_SELECT_STOP:2,MAP_MENU_CONTEXT:{STOP:3,SIMPLE_MARKER_LAYER:3,CUSTOM:1,LINE:3,JOURNEY:3,ZONE:3},MAP_MENU_ITEM_CLICK:{SELECT:1,HIGHLIGHT_DEFAULT:1},MAP_MENU_AUTOCOMPLETE_SELECT:{STOPS:2,LINES_AND_NARTRAFIK:1}},SMALL_ICON_SCALE_FACTOR:.65,SMALL_LINE_SCALE_FACTOR:.7,UPSCALE_FACTORS:{JOURNEY:{START_END:1,SWITCH:1,ON_OFF:1},STOP:{EXTRA_HIGHLIT:1,EXPLICIT_SHOW_STOP_POINT:2},VEHICLE:{EXTRA_HIGHLIT:1.2}},MARKER:{DIM:{OPACITY:.35}},POLYGON:{HIGHLIT:{FILL_OPACITY:.3,STROKE_OPACITY:1,STROKE_WEIGHT:3},NORMAL:{FILL_OPACITY:.2,STROKE_OPACITY:1,STROKE_WEIGHT:2},DIM:{FILL_OPACITY:.1,STROKE_OPACITY:.3,STROKE_WEIGHT:1.5}},PATH:function(){var n={solid:1,dash:2,dot:3,invisible:4},i={},t;return i[n.solid]=1,i[n.dash]=.8,i[n.invisible]=0,t={},t[n.solid]=1,t[n.dash]=.8,t[n.invisible]=0,{HIGHLIT:{STROKE_OPACITY:1,STROKE_WEIGHT:3},NORMAL:{STROKE_OPACITY:1,STROKE_WEIGHT:2.7},DIM:{STROKE_OPACITY:.3,STROKE_WEIGHT:2.5},STROKE_STYLES:n,STROKE_WEIGHT_ADJUST_FOR_STROKE_STYLE:i,STROKE_OPACITY_ADJUST_FOR_STROKE_STYLE:t,CUT:{DISTANCE_BASE:2.5,DISTANCE_ACCELERATION:6,ARROW_EVERY:10}}}(),LINE_WEB:{NORMAL:{STROKE_COLOUR:"#767676",STROKE_WEIGHT:1.5},DIM:{STROKE_COLOUR:"#969696",STROKE_WEIGHT:1.3}}};n.QUERY_STRING={JOURNEY_FROM:"from",JOURNEY_TO:"to",JOURNEY_DATE:"date",JOURNEY_TIME:"time",JOURNEY_DIRECTION:"direction",JOURNEY_TRAFIC_TYPES:"tt",JOURNEY_CHANGE_TIME:"changetime",JOURNEY_PRIORITY:"priority",JOURNEY_WALK_ACCEPTABLE:"walk",LOGIN_KC:"kc",LOGIN_AUTH_SOURCE:"authsource",LOGIN_USER_NAME:"username",LOGIN_IMPERSONATE_USER_NAME:"impersonateusername",FOR_EMAIL:"foremail",INFORMATION_BOARD_CLIENT_ID:"client",INFORMATION_BOARD_TOUCH_MODE:"touch",STOP_PAGE:{trafficType:"tt",stopPoint:"stopPoint",lines:"lines",sortOrder:"sort",departuresCount:"count",columnsPerPageCount:"columns",pagesCount:"pages",pageTime:"pagetime",stripped:"stripped",delay:"delay",deviationsTime:"deviationstime",textSize:"size",look:"look",hideFilters:"hidefilters"}};t={CUSTOMER_DB_SITE:"/ajax2",CUSTOMER_ROME:"/ajax/CustomerRome",STORE:"/ajax2/store",COMPENSATION:"/ajax/Compensation",ADDITIONALFEE:"/ajax/AdditionalFee",GROUP_TRAVEL:"/ajax/Grouptravel",CUSTOMER_ISSUE:"/ajax/CustomerIssue",LOGIN:"/ajax/Login",VALIDATION_LINK:"/ajax/ValidationLink",PHYSICAL_STOP:"/ajax/InformationBoard",SITE_SEARCH:"/ajax/SiteSearch",ACTIVATION_POINT:"/activationpoint/jsonbundle/get"};i=window.ajaxUrls;t.POSROI=i.posroi;t.GEOSERVER=i.geoserver+"/geo";t.JOURNEY=i.rest+"/journey";t.STOPS=i.rest+"/stops";t.LINES=i.rest+"/lines";t.STOP_DEPARTURES=i.rest+"/stopdepartures";t.FS_TRAFFIC_INFO=i.rest+"/fstrafficinfo";n.AJAX_ENDPOINTS=t})();Array.isArray||(Array.isArray=function(n){return Object.prototype.toString.call(n)==="[object Array]"});Array.prototype.every||(Array.prototype.every=function(n,t){"use strict";var u,i,r,f,e,o;if(this==null)throw new TypeError("this is null or not defined");if(r=Object(this),f=r.length>>>0,typeof n!="function")throw new TypeError;for(arguments.length>1&&(u=t),i=0;i<f;){if(i in r&&(e=r[i],o=n.call(u,e,i,r),!o))return!1;i++}return!0});Array.prototype.some||(Array.prototype.some=function(n){"use strict";var t;if(this==null)throw new TypeError("Array.prototype.some called on null or undefined");if(typeof n!="function")throw new TypeError;var i=Object(this),r=i.length>>>0,u=arguments.length>=2?arguments[1]:void 0;for(t=0;t<r;t++)if(t in i&&n.call(u,i[t],t,i))return!0;return!1});Array.prototype.fill||(Array.prototype.fill=function(n){if(this==null)throw new TypeError("this is null or not defined");for(var i=Object(this),t=i.length>>>0,o=arguments[1],r=o>>0,u=r<0?Math.max(t+r,0):Math.min(r,t),e=arguments[2],f=e===undefined?t:e>>0,s=f<0?Math.max(t+f,0):Math.min(f,t);u<s;)i[u]=n,u++;return i});Array.prototype.filter||(Array.prototype.filter=function(n){"use strict";var i,f,r,e,t,u;if(this===void 0||this===null)throw new TypeError;if(i=Object(this),f=i.length>>>0,typeof n!="function")throw new TypeError;for(r=[],e=arguments.length>=2?arguments[1]:void 0,t=0;t<f;t++)t in i&&(u=i[t],n.call(e,u,t,i)&&r.push(u));return r});Array.prototype.find||(Array.prototype.find=function(n){var t;if(this==null)throw new TypeError("Array.prototype.find called on null or undefined");if(typeof n!="function")throw new TypeError("predicate must be a function");var i=Object(this),u=i.length>>>0,f=arguments[1],r;for(t=0;t<u;t++)if(r=i[t],n.call(f,r,t,i))return r;return undefined});Array.prototype.findIndex||(Array.prototype.findIndex=function(n){var t;if(this==null)throw new TypeError("Array.prototype.find called on null or undefined");if(typeof n!="function")throw new TypeError("predicate must be a function");var i=Object(this),u=i.length>>>0,f=arguments[1],r;for(t=0;t<u;t++)if(r=i[t],n.call(f,r,t,i))return t;return-1});Array.prototype.forEach||(Array.prototype.forEach=function(n,t){var u,i,r,f,e;if(this==null)throw new TypeError(" this is null or not defined");if(r=Object(this),f=r.length>>>0,typeof n!="function")throw new TypeError(n+" is not a function");for(arguments.length>1&&(u=t),i=0;i<f;)i in r&&(e=r[i],n.call(u,e,i,r)),i++});Array.prototype.includes||(Array.prototype.includes=function(n){"use strict";var f=Object(this),u=parseInt(f.length)||0,i,t,r;if(u===0)return!1;for(i=parseInt(arguments[1])||0,i>=0?t=i:(t=u+i,t<0&&(t=0));t<u;){if(r=f[t],n===r||n!==n&&r!==r)return!0;t++}return!1});Array.prototype.indexOf||(Array.prototype.indexOf=function(n,t){var r,f,u,i;if(this==null)throw new TypeError('"this" is null or not defined');if((f=Object(this),u=f.length>>>0,u===0)||(i=+t||0,Math.abs(i)===Infinity&&(i=0),i>=u))return-1;for(r=Math.max(i>=0?i:u-Math.abs(i),0);r<u;){if(r in f&&f[r]===n)return r;r++}return-1});Array.prototype.map||(Array.prototype.map=function(n,t){var e,u,i,r,f,o,s;if(this==null)throw new TypeError(" this is null or not defined");if(r=Object(this),f=r.length>>>0,typeof n!="function")throw new TypeError(n+" is not a function");for(arguments.length>1&&(e=t),u=new Array(f),i=0;i<f;)i in r&&(o=r[i],s=n.call(e,o,i,r),u[i]=s),i++;return u});Array.prototype.reduce||(Array.prototype.reduce=function(n){"use strict";if(this==null)throw new TypeError("Array.prototype.reduce called on null or undefined");if(typeof n!="function")throw new TypeError(n+" is not a function");var i=Object(this),u=i.length>>>0,t=0,r;if(arguments.length==2)r=arguments[1];else{while(t<u&&!(t in i))t++;if(t>=u)throw new TypeError("Reduce of empty array with no initial value");r=i[t++]}for(;t<u;t++)t in i&&(r=n(r,i[t],t,i));return r});"function"!=typeof Array.prototype.reduceRight&&(Array.prototype.reduceRight=function(n){"use strict";if(null===this||"undefined"==typeof this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!=typeof n)throw new TypeError(n+" is not a function");var i=Object(this),u=i.length>>>0,t=u-1,r;if(arguments.length>=2)r=arguments[1];else{while(t>=0&&!(t in i))t--;if(t<0)throw new TypeError("Reduce of empty array with no initial value");r=i[t--]}for(;t>=0;t--)t in i&&(r=n(r,i[t],t,i));return r});Array.prototype.some||(Array.prototype.some=function(n){"use strict";var t;if(this==null)throw new TypeError("Array.prototype.some called on null or undefined");if(typeof n!="function")throw new TypeError;var i=Object(this),r=i.length>>>0,u=arguments.length>=2?arguments[1]:void 0;for(t=0;t<r;t++)if(t in i&&n.call(u,i[t],t,i))return!0;return!1});String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}),function(){var n={weekdays:{day0:"söndag",day1:"måndag",day2:"tisdag",day3:"onsdag",day4:"torsdag",day5:"fredag",day6:"lördag"},months:{month0:"januari",month1:"februari",month2:"mars",month3:"april",month4:"maj",month5:"juni",month6:"juli",month7:"augusti",month8:"september",month9:"oktober",month10:"november",month11:"december"},the:" den ",unknownDate:"Inget datum tillgängligt"};Date.prototype.getDayName=function(){return n.weekdays["day"+this.getDay()]};Date.prototype.getMonthName=function(){return n.months["month"+this.getMonth()]};Date.prototype.clone=function(){return new Date(this.getTime())};Date.prototype.getFancyFormattedDate=function(t){return[this.getDayName()," ",typeof t=="undefined"||t?n.the:"",this.getDate()," ",this.getMonthName()].join("")};Date.prototype.getFormattedTime=function(){var n=""+this.getHours(),t=""+this.getMinutes();return n.length==1&&(n="0"+n),t.length==1&&(t="0"+t),n+":"+t};Date.prototype.getExactTime=function(){var n=""+this.getHours(),t=""+this.getMinutes(),i=""+this.getSeconds(),r=""+this.getMilliseconds();return n.length==1&&(n="0"+n),t.length==1&&(t="0"+t),i.length==1&&(i="0"+i),r.length==1&&(r="0"+r),n+":"+t+":"+i+"."+r};Date.prototype.getFormattedDate=function(){var n,t,i,r="-";return n=""+(this.getMonth()+1),t=""+this.getDate(),n.length==1&&(n="0"+n),t.length==1&&(t="0"+t),i=[this.getFullYear(),r,n,r,t],i.join("")};Date.prototype.getFormattedDateTime=function(n){return this.getFormattedDate()+(n||" ")+this.getFormattedTime()};Date.prototype.getExactDateTime=function(){return this.getFormattedDate()+" "+this.getExactTime()};Date.prototype.getFormattedDayMonth=function(){return this.getDate()+"/"+(this.getMonth()+1)};Date.prototype.addMilliseconds=function(n){return this.setMilliseconds(this.getMilliseconds()+n),this};Date.prototype.addSeconds=function(n){return this.setSeconds(this.getSeconds()+n),this};Date.prototype.addMinutes=function(n){return this.setMinutes(this.getMinutes()+n),this};Date.prototype.addHours=function(n){return this.setHours(this.getHours()+n),this};Date.prototype.addDays=function(n){return this.setDate(this.getDate()+n),this};Date.prototype.isSameDayAs=function(n){return this.getFullYear()==n.getFullYear()&&this.getMonth()==n.getMonth()&&this.getDate()==n.getDate()};Date.prototype.isSameTrafficDayAs=function(n){return this.clone().addHours(-4).isSameDayAs(n.clone().addHours(-4))};Date.prototype.isSameAs=function(n){return this.getTime()==n.getTime()};Date.prototype.stripTime=function(){return new Date(this.getFullYear(),this.getMonth(),this.getDate())};Date.prototype.stripSeconds=function(){return new Date(this.getFullYear(),this.getMonth(),this.getDate(),this.getHours(),this.getMinutes(),0)};Date.prototype.getValidDate=function(){return this.getTime()>0?this.getFormattedDateTime():n.unknownDate};Date.fromUnixTime=function(n){return Date.adjusted(n)};Date.fromDotNetJsonDateString=function(n){return Date.fromUnixTime(parseInt(n.substr(6,13),10))};Date.fromSwedishDate=function(n,t){var i=new Date(parseInt(n.substr(0,4),10),parseInt(n.substr(5,7),10)-1,parseInt(n.substr(8,10),10));return t?i:Date.adjusted(i.getTime())};Date.fromSwedishDateTime=function(n,t){var i=new Date(parseInt(n.substr(0,4),10),parseInt(n.substr(5,7),10)-1,parseInt(n.substr(8,10),10),parseInt(n.substr(11,13),10),parseInt(n.substr(14,16),10),parseInt(n.substr(18,20),10));return t?i:Date.adjusted(i.getTime())};Date.splitSwedishDate=function(n){return{date:n.substr(0,10),hourMinutes:n.substr(11,16),year:parseInt(n.substr(0,4),10),month:parseInt(n.substr(5,7),10)-1,day:parseInt(n.substr(8,10),10),hour:parseInt(n.substr(11,13),10),minute:parseInt(n.substr(14,16),10),second:parseInt(n.substr(18,20),10)}};Date.hasDstError=function(n){function t(n,t){var u=t?3:10,i=new Date(n,u-1,31),r=i.getDay();return r!=0&&i.setDate(i.getDate()-r),i}var i=n.getFullYear(),u=t(i,!0),f=t(i,!1),r=n.getHours();if(2<=r&&r<4){if(n.isSameDayAs(f))return"s";if(n.isSameDayAs(u))return"v"}return 0};Date.isDst=function(n){function t(n,t){var u=t?3:10,i=new Date(n.getFullYear(),u-1,31),r=i.getDay();return r!=0&&i.setDate(i.getDate()-r),t?i.setHours(1):i.setHours(2),i.setMinutes(59),i.setSeconds(59),i}var i=t(new Date,!0),r=t(new Date,!1);return i<=n&&n<=r};Date.adjusted=function(){function n(n){var t=Date.isDst(n)?2:1,i=n.getTime()+n.getTimezoneOffset()*6e4;return new Date(i+36e5*t)}return function(t){var i=window.localLoadTime-window.serverLoadTime;return Math.abs(i)<1e4&&(i=0),t||(t=Date.now()-i),n(new Date(t))}}();Date.updateLoadTime=function(n){n&&(window.serverLoadTime=n,window.localLoadTime=Date.now())};Object.equals=function(n,t){if(n===t)return!0;if(!(n instanceof Object)||!(t instanceof Object)||n.constructor!==t.constructor)return!1;for(var i in n)if(n.hasOwnProperty(i)){if(!t.hasOwnProperty(i))return!1;if(n[i]!==t[i]&&(typeof n[i]!="object"||!Object.equals(n[i],t[i])))return!1}for(i in t)if(t.hasOwnProperty(i)&&!n.hasOwnProperty(i))return!1;return!0};Array.prototype.fillAndCreate=function(n,t){for(var i=0;i<t;i++)this[i]=n;return this};Array.prototype.spliceArray=function(n,t,i){return Array.prototype.splice.apply(this,[n,t].concat(i))};Array.prototype.pushArray=function(n){return this.spliceArray(this.length,0,n)};Array.prototype.findIndexRight=function(n,t){return n==undefined?-1:this.reduceRight(function(i,r,u,f){return i==-1&&n.call(t,r,u,f)?u:i},-1)};Array.prototype.pushIfNotInArray=function(n){this.includes(n)||this.push(n)};Array.prototype.pushIfHasValue=function(n){n&&this.push(n)};String.prototype.capitalizeFirstLetter=function(){return this.charAt(0).toUpperCase()+this.slice(1)}}();window.OGT=window.OGT||{};window.OGT.Util=window.OGT.Util||{},function(){"use strict";function f(n,t){var i=function(){};i.prototype=t.prototype;n.prototype=new i;n.prototype.constructor=n;n.superclass=t.prototype;t.prototype.constructor==Object.prototype.constructor&&(t.prototype.constructor=t)}function e(n){var t=!1,i=null;return function(){return t||(i=n.apply(this,arguments),t=!0),i}}function o(n){return t(n).join(",")}function s(n,i){return n=t(n),i=t(i),n[0]==i[0]&&n[1]==i[1]}function h(n){return $.extend({},n)}function w(n,t,i){for(var r=0;r<n.length;r++)if(n[r][t]===i)return r;return-1}function nt(){$("html, body").animate({scrollTop:0},"slow",function(){})}function tt(n){typeof n!="undefined"&&$("html, body").animate({scrollTop:n.offset().top>=50?n.offset().top-50:n.offset().top},500,function(){})}function it(n,t){var i;return(n=n.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(n,t,i,r){return t+t+i+i+r+r}),i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n),!i)?n:["rgba(",parseInt(i[1],16),",",parseInt(i[2],16),",",parseInt(i[3],16),",",t,")"].join("")}var t=function(){function n(n){return Math.round(n*1e6)/1e6}return function(t){return t.map(function(t){return n(t)})}}(),c=function(){function n(n,t,i,r,u){var f=new Date,e;f.setDate(f.getDate()+r);e=n(JSON.stringify(i))+(r==null?"":"; expires="+f.toUTCString()+"; path="+(u||"/"));document.cookie=t+"="+e}function t(t,i,r,u){n(escape,t,i,r,u)}function r(t,i,r){n(encodeURIComponent,t,i,r)}function u(n,r,u,f,e){for(var s=i(n)||[],h={id:r,value:u},c=-1,a,o=0,l=s.length;o<l;o++)if(s[o].id===h.id){c=o;break}c===-1&&s.unshift(h);a=s.splice(0,f);t(n,a,e)}function i(n){for(var r,u,i=document.cookie.split(";"),t=0;t<i.length;t++)if(r=i[t].substr(0,i[t].indexOf("=")),u=i[t].substr(i[t].indexOf("=")+1),r=r.replace(/^\s+|\s+$/g,""),r==n)return $.parseJSON(unescape(u));return null}return{set:t,setUri:r,saveToQueue:u,get:i}}(),l=function(){function n(n){return n=n.replace(/\\/g,"\\\\"),n=n.replace(/\'/g,"\\'"),n=n.replace(/\"/g,'\\"'),n.replace(/\0/g,"\\0")}function t(n){var r="",t=-1,i=n.length-1;for(i;i>=0;i--)t=n.charCodeAt(i),r=t<48||t<57&&t<65||90<t&&t<97||122<t?t+r:n.substring(i,i+1)+r;return r}function i(n,t){var e,o,s,u,h,c;typeof t=="object"?(e=t,o=-1):(e=arguments,o=0);for(var i=n,f=-1,r=-1,l=[];;){if(f=i.indexOf("{",r),r=i.indexOf("}",r),f<0||r<0)break;s=parseInt(i.substring(f+1,r))+1;u=e[s+o];u||(u="");l[s]=u;u="¤"+s+"£";i=i.replace(i.substring(f,r+1),u);r=f+u.length}for(h=l.length;h--;)c=l[h],c!==null&&c!==undefined&&(i=i.replace(new RegExp("¤"+h+"£","g"),c));return i}function u(n){return function(t){return n.toLowerCase()==t.toLowerCase()}}var r=function(){function n(n){return n&&n.length==1?"0"+n:n}var t=/^([0-1]?[0-9]|2[0-3])([:.])?([0-5][0-9])?$/;return function(i){var r=t.exec(i);return r?n(r[1])+":"+n(r[3]||"0"):!1}}();return{addSlashes:n,removeEvilCharacters:t,format:i,getNiceTimeOrFalse:r,getIsSameStringCaseInsensiveFunc:u}}(),a=function(){function n(n){return n.ctrlKey||n.shiftKey||n.altKey||n.metaKey}function t(t){return n(t)?!1:t.keyCode==13}function i(t){return n(t)?!1:t.keyCode==9}function r(n){n||(n=window.event);n.cancelBubble=!0;n.stopPropagation&&n.stopPropagation()}return{hasModifier:n,isEnter:t,isTab:i,stopPropagate:r}}(),v=function(){function n(n){var t=""+parseInt(parseFloat(n)*100),i=t.length-2;return t.substr(0,i)+","+t.substr(i)}return{roundTo:n}}(),y=function(){function n(n){return typeof n=="number"&&isFinite(n)}function t(n){if(/^\d{4}-\d{2}-\d{2}$/.test(n)){var i=n.split("-")[0],r=n.split("-")[1],u=n.split("-")[2],t=new Date(i,r-1,u);return t.getMonth()+1!=r||t.getDate()!=u||t.getFullYear()!=i?!1:!0}return!1}return{number:n,date:t}}(),p=function(){function n(n,t,i){for(var r=!1,u=n.lastChild,f;u;){if(f=i(t,u),f!==null)return f===!0&&(r?n.insertBefore(t,r):n.appendChild(t)),f;r=u;u=u.previousSibling}return r?n.insertBefore(t,r):n.appendChild(t),!0}function t(n,t,i){for(var u=n.length,f,r;u--;)if(f=n[u],r=i(t,f),r!==null)return r===!0&&n.splice(u+1,0,t),r;return n.splice(0,0,t),!0}return{spliceInElementSorted:n,spliceInSorted:t}}(),u=function(){function i(i,r){return n(t(i,r),r)}function n(n,t){return t=t||"\\s",n.replace(new RegExp("^["+t+"]+","g"),"")}function t(n,t){return t=t||"\\s",n.replace(new RegExp("["+t+"]+$","g"),"")}return{both:i,left:n,right:t}}(),b=function(){function n(n,t){var e,r,i,f;if(typeof n!="undefined"&&n!=="")for(e=n.split("&"),r=0;r<e.length;r++)if(i=u.left(e[r],"?"),f=i.indexOf("="),(f===-1&&i||i.substr(0,f))==t)return f===-1?!0:decodeURI(i.split("=")[1]);return null}function t(n,t,i){var u,f,r;return typeof i=="undefined"&&(i=window.location.href),u=new RegExp("([?&])"+n+"=.*?(&|#|$)(.*)","gi"),u.test(i)?typeof t!="undefined"&&t!==null?i.replace(u,"$1"+n+"="+t+"$2$3"):(r=i.split("#"),i=r[0].replace(u,"$1$3").replace(/(&|\?)$/,""),typeof r[1]!="undefined"&&r[1]!==null&&(i+="#"+r[1]),i):typeof t!="undefined"&&t!==null?(f=i.indexOf("?")!==-1?"&":"?",r=i.split("#"),i=r[0]+f+n+"="+t,typeof r[1]!="undefined"&&r[1]!==null&&(i+="#"+r[1]),i):i}function i(n,t){for(var i in n)t=OGT.Util.QueryString.update(i,n[i],t);return t}function r(n){return n?decodeURIComponent(n):n}return{getParameter:n,update:t,updateWithDict:i,decodeUriComponentRespectNull:r}}(),i=function(){function t(){return n._init(),n.browser=="Safari"&&n.OS=="Mac"}function i(){return n._init(),n.browser=="Explorer"||navigator.userAgent.indexOf("Trident")!=-1}function r(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream}function u(){return!!("ontouchstart"in window||navigator.MaxTouchPoints>0||navigator.msMaxTouchPoints>0)}function f(){return n._init(),n.version}var n={_init:function(){this.browser=this.searchString(this.dataBrowser)||"An unknown browser";this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version";this.OS=this.searchString(this.dataOS)||"an unknown OS"},searchString:function(n){for(var i,r,t=0;t<n.length;t++)if(i=n[t].string,r=n[t].prop,this.versionSearchString=n[t].versionSearch||n[t].identity,i){if(i.indexOf(n[t].subString)!=-1)return n[t].identity}else if(r)return n[t].identity;return""},searchVersion:function(n){var t=n.indexOf(this.versionSearchString);return t==-1?-1:parseFloat(n.substring(t+this.versionSearchString.length+1))},dataBrowser:[{string:navigator.userAgent,subString:"Chrome",identity:"Chrome"},{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari",versionSearch:"Version"},{prop:window.opera,identity:"Opera",versionSearch:"Version"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.userAgent,subString:"iPhone",identity:"iPhone/iPod"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]};return{isSafariOnMac:t,isIe:i,isIos:r,isTouchDevice:u,getVersion:f}}(),k=function(){var n,t;return typeof document.hidden!="undefined"?(n="hidden",t="visibilitychange"):typeof document.msHidden!="undefined"?(n="msHidden",t="msvisibilitychange"):typeof document.webkitHidden!="undefined"&&(n="webkitHidden",t="webkitvisibilitychange"),typeof document.addEventListener=="undefined"||typeof document[n]=="undefined"?function(){return!1}:function(i){function r(){i(!document[n])}return document.addEventListener(t,r,!1),r(),!0}}(),r=function(){var n=/(\s+)(\s)|(\n)|(\r)/g;return function(t,i){var o=typeof t,u,f,e;if(o=="object"){if(u=[],Array.isArray(t))for(f=t.length;f--;)u[f]=r(t[f],!0);else{for(e in t)u.push([e,r(t[e],!0)]);u.sort(function(n,t){return n[0]<t[0]?-1:1})}t=u}else if(o=="function")return t.toString().replace(n,"$2");return i?t:JSON.stringify(t)}}(),d=function(){function i(){return document.fullscreenEnabled||document.mozFullScreenEnabled||document.webkitFullscreenEnabled||document.msFullscreenEnabled}function n(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement}function r(n){var i=n.requestFullScreen||n.webkitRequestFullScreen||n.mozRequestFullScreen||n.msRequestFullscreen,t;i?i.call(n):typeof window.ActiveXObject!="undefined"&&(t=new ActiveXObject("WScript.Shell"),t!==null&&t.SendKeys("{F11}"))}function t(){var n=document.exitFullscreen||document.webkitExitFullscreen||document.mozCancelFullScreen||document.msExitFullscreen;n&&n.call(document)}function u(){n()?t():r(!OGT.Util.BrowserDetect.isIe()&&document.documentElement||document.body)}return{enabled:i,active:n,cancel:t,toggle:u}}(),g=function(){function r(i,r,u){return u?t(i,r,u):n(i,r)}function n(n,t){return'<span class="'+(n||"")+'">'+t+"<\/span>"}function t(n,t,i){return'<a class="'+(n||"")+'" href="'+i+'" >'+t+"<\/a>"}function u(n){var t=i.isTouchDevice();if(t)try{n.get(0).type="time"}catch(r){}}function f(n){var u=i.isTouchDevice(),r=document.createElement("input"),t;r.setAttribute("type","date");r.type!=="text"&&u?n.get(0).type="date":(n.get(0).type="text",t=typeof window.preferedCulture=="undefined"&&window.preferedCulture===""?"sv":window.preferedCulture,t=t=="en-GB"||t=="en"?"":t,n.datepicker($.datepicker.regional[t]))}return{spanifyOrLinkify:r,spanify:n,linkify:t,convertInputToTimeIfConditions:u,convertInputToDateIfConditions:f}}(),n=window.OGT.Util;n.extend=f;n.singletonify=e;n.roundLatLng=t;n.latLngArrayToUrlValue=o;n.isAlmostSameLocation=s;n.dictClone=h;n.BrowserDetect=i;n.addBrowserVisibilityListener=k;n.Cookie=c;n.String=l;n.Event=a;n.Number=v;n.Is=y;n.Splice=p;n.Trim=u;n.getIndexOfObjWithAttr=w;n.QueryString=b;n.hashObject=r;n.FullScreen=d;n.Html=g;n.scrollToTop=nt;n.scrollToElement=tt;n.hexColourToRgbWithAlpha=it}();window.OGT=window.OGT||{};window.OGT.Util=window.OGT.Util||{};window.OGT.Util.OGT=window.OGT.Util.OGT||{},function(){function v(n){var t=n.OgtType;return t!="stop"&&t!="address"&&t!="poi"}function y(n,i){var r={};return n?r=n:(r.OgtType="custom",r.PlaceName=t.placeTypeCustom),r.Ll=i,r}function p(n,t,i){var r,u,f;if(!n)return!t;if((r=n.OgtType,r!=t.OgtType)||n.Id!=t.Id)return!1;var e=n.OgtStopPointData,o=t.OgtStopPointData,h=e&&e.stopPointId,c=o&&o.stopPointId,s=r=="stop";return!i&&s&&h!=c?!1:(u=n.Ll,f=t.Ll,!s&&u&&f&&!OGT.Util.isAlmostSameLocation(u,f))?!1:!0}function k(n){switch(n){case 10:return"ogt-info-16 info";case 20:return"ogt-warning-16 warning";case 30:return"ogt-critical-16 critical";case 40:return"ogt-unknown-16 unknown";default:return""}}function d(n){var t=n.onlySearchForPointType,i=!t||t=="stop",r=n.showFindMyLocation,u=n.doNotUseGeoLocation;n.minCharsCountForProperSearch=2;n.unknownNameTextKey="/searchjourney/placetypes/custom";n.legend=t?[]:["stop","address","poi"];n.getLabelFromDataFunc=function(n){return n.PlaceName};n.searchFunc=function(n,i){OGT.Util.OGT.AsyncAjax.findPlaces(n,t,{successCallback:i})};u||(n.specialSearchHandlings=[{noSearchYetResponseListModifierFunc:function(n){if(t)for(var u=n.length;u--;)n[u].data.OgtType!=t&&n.splice(u,1);"geolocation"in navigator&&(r&&n.splice(0,0,{label:OGT.Language.translate("/searchjourney/placetypes/myPlace"),value:"",data:{OgtType:"locateUser"},getIcon:function(n){return OGT.Util.OGT.getIconCssClassForOgtPlaceType(n.OgtType,!0)},isTranslatable:function(){return!0}}),i&&n.splice(0,0,{label:OGT.Language.translate("/searchjourney/placetypes/nearestStop"),value:"",data:{OgtType:"nearestStop"},getIcon:function(n){return OGT.Util.OGT.getIconCssClassForOgtPlaceType(n.OgtType,!0)},isTranslatable:function(){return!0}}))},selectKidnapper:function(n,t,i,r){var e=t.OgtType,o=e=="locateUser",s=e=="nearestStop",f;if(o||s){function u(n){this.value="";$(this).trigger("blur");r?r.set(n):alert(n)}return f=this,"geolocation"in navigator?(this.blur(),navigator.geolocation.getCurrentPosition(function(t){var r=[t.coords.latitude,t.coords.longitude];s?OGT.Util.OGT.AsyncAjax.getNearestStopArea(r,{successCallback:function(t){t?i(t,this,OGT.Util.Event.isEnter(n)):u.call(f,OGT.Language.translate("/searchjourney/geolocation/nostopnearyourlocation"))}}):o&&i(OGT.Util.OGT.makePlaceData(null,r),this,OGT.Util.Event.isEnter(n))},function(){u.call(f,OGT.Language.translate("/searchjourney/geolocation/geolocationnotavailable"))},{timeout:1e4,enableHighAccuracy:!0})):u.call(this,OGT.Language.translate("/searchjourney/geolocation/geolocationnotavailable")),!0}return!1}}]);n.getIcon=function(n){return OGT.Util.OGT.getIconCssClassForOgtPlaceType(n.OgtType,!0)};n.isTranslatable=function(n){return OGT.Util.OGT.placeTranslatable(n)};f(n)}function g(n){var t=n.additionalSearchFunc;n.minCharsCountForProperSearch=1;n.unknownNameTextKey="/timetables/unknownLine";n.searchFunc=function(n,i){var u=[],f=[],r=OGT.Proxy.Io.AllIsDoneMultiplexer({parentCallbacks:[function(){i(f.concat(u))}],label:"Wait for all searches"}),h=r.getChildCallback("findLines"),e=OGT.Proxy.map,o=e&&e.timetableperiod.get(),c=o&&o.Id,s;OGT.Util.OGT.AsyncAjax.findLines(n,{onlyProperLines:!0,timeTablePeriod:c,successCallback:function(n){u=n},completeCallback:h});t&&(s=r.getChildCallback("additionalSearch"),t(n,function(n){f=n;s()}));r.arm()};n.getIcon=function(n){var t=n.getIcon||function(){return n.Ogt.OgtTrafficTypeIconCssClass};return OGT.Util.OGT.getIconCssClassForOgtTrafficType(t(),!0)};n.isTranslatable=function(n){var t=n.isTranslatable||function(){return!1};return t()};n.getLabelFromDataFunc=function(n){var t=n.getLabel,i;return t?t():(i=n.Ogt,o(i))};f(n)}function e(n,i){return OGT.Util.String.format(t.pluralSingular[i][n===1?"singular":"plural"],""+n)}function nt(n){return e(n,"minutes")}function tt(n){return e(n,"switches")}function o(n){var t=n.OgtNameClashDefiningAttribute;return n.OgtLineNamePreformatted+(t?" ("+t+")":"")}function ot(n){var t=n.Line;return t&&t.LineTypeId!==0}function st(n){return n.id}function ht(n){return n}function at(n){var t=n&&n.OgtLineUrlSegment;return t?window.linePageUrl+t:null}function vt(n){var t=n&&n.OgtStopUrlSegment;return t?window.stopPageUrl+t:null}function yt(n){var t=document.createElement("textarea");return t.innerHTML=n,t.value}function pt(n){var t=$("#alert-message");typeof n!="undefined"&&parseInt(c(OGT.CONSTANTS.COOKIE.KEYS.ALERT_MESSAGE))!==window.alertMessageId&&t.show()}function c(n){var t,i;return document.cookie.length>0&&(t=document.cookie.indexOf(n+"="),t!=-1)?(t=t+n.length+1,i=document.cookie.indexOf(";",t),i==-1&&(i=document.cookie.length),unescape(document.cookie.substring(t,i))):""}function wt(n,t,i){var u,r;i?(r=new Date,r.setTime(r.getTime()+i*864e5),u="; expires="+r.toGMTString()):u="";document.cookie=n+"="+t+u+"; path=/"}var t={stopPointTemplate:"Läge {0}",trackTemplate:"Spår {0}",trainLineTemplate:"(tåg nr. {0})",placeTypeCustom:"Egen plats",pluralSingular:{minutes:{plural:"{0} minuter",singular:"{0} minut"},switches:{plural:"{0} byten",singular:"{0} byte"}},approximateTime:"Cirkatider kan variera upp till plus/minus 5 minuter vid hållplats.",changedTime:"Avgången har ändrad avgångs- eller ankomsttid.",noLongerValidTime:"Inställd",omittedTime:"Invänta tid"},l=function(){var n=/[^a-zåäö\d]/g;return function(t){return t==null?null:t.toLowerCase().replace(n,"")}}(),a=function(){function e(n,t){return t?n:n.toLowerCase()}var n=/^[0-9][a-z]?$/i,i=/^[a-z0-9]{1,2}$/i,r=/^spår\s(.+)/i,u=t.stopPointTemplate,f=t.trackTemplate;return function(t){var a=window.trainTrackTrafficTypes,s=t.stopPointAlias,v=t.upperCase,y=t.alwaysAcceptAlias,c=t.trafficTypeId,o="",l=r.exec(s),h=null;return n.test(s)?(o=s,h=!0):l?(o=OGT.Util.Trim.both(l[1]),h=!0):i.exec(s)?(o=s,h=c&&a.some(function(n){return c==n.id})?!0:!1):s&&s.toLowerCase()=="ä"?o="Närtrafik":y&&(o=s),o&&h!=null&&(o=OGT.Util.String.format(e(h?f:u,v),o.toUpperCase())),o}}(),u=function(){var n=["Id","Ll","OgtType","FsType","PlaceName","OgtStopUrlSegment"];return function(t){var r={},i;for(i in t)n.includes(i)&&(r[i]=t[i]);return r}}(),w=function(){var n="ogt-pin-{0}-{1} icon--{2}",t={stop:"stop",address:"dot",poi:"star",custom:"outline",locateUser:"outline",nearestStop:"outline"};return function(i,r){return OGT.Util.String.format(n,t[i],r?"32":"16",r?"big":"small")}}(),b=function(){var n="{0}-{1} icon--{2}";return function(t,i){return OGT.Util.String.format(n,t,i?"32":"16",i?"big":"small")}}(),f=function(){function n(n,t){function e(t){return{label:h(t),value:"",data:t,getIcon:n.getIcon,isTranslatable:n.isTranslatable}}var r=n.recentSearchCookieKey,o=n.searchFunc,s=n.specialSearchHandlings||[],u=n.minCharsCountForProperSearch,h=n.getLabelFromDataFunc,i=n.legend,c=n.postSearchFiltering||function(n){return n},f=function(n){return n=c(n),i&&i.length&&n.push({ogtType:"legend",labels:i}),n};return{open:function(){var n=$(this);n.autocomplete("widget").css("width",n.outerWidth()+"px")},minLength:1,selectFirst:!0,source:function(n,t){var h=n.term,i,c;h.length<u?(i=[],r&&(c=OGT.Util.Cookie.get(r)||[],i=c.map(function(n){return e(n.value)})),s.forEach(function(n){var t=n.noSearchYetResponseListModifierFunc;t&&t(i)},this),t(f(i))):u<=h.length&&o(h,function(n){t(f(n.map(e)))})},focus:function(n,t){t.item.value=t.item.label},select:function(n,i){var r=i.item.data;return r?(i.item=null,t(r,this,OGT.Util.Event.isEnter(n),n),!1):!1}}}return function(t){function l(n,t,i){u.set(n,{context:t,originatedWithEnter:i});k(n)}function a(n,t,i,r){var u=!1;b.forEach(function(i){!u&&i.selectKidnapper.call(t,r,n,l,w)&&(u=!0)},this);u||(l(n,t,i),!(r&&r.keyCode))}function v(){r.autocomplete(n(t,a)).focusin(function(){$(this).autocomplete("option","minLength",0)})}function o(){var t=u.get(),n;t?(n=s(t)||c,i&&i.show()):(n="",i&&i.hide());this.value=n}function f(n){var t=u.get();t&&(n?t.inprogress=!0:delete t.inprogress)}function g(){f(!0);var n=$(this);this.value="";i&&i.hide();n.hasClass("ui-autocomplete-input")&&n.autocomplete("search","")}function y(n,t){var r=this,h=t&&t.originatedWithEnter,i;if(OGT.Util.Trim.both(this.value)==""){o.call(this);f(!1);return}if(i=this.value,i==c||i==""){f(!1);return}window.setTimeout(function(){var n=u.get();i=r.value;n&&(!i||s(n)==i)?f(!1):d(i,function(n){n.length?a(n[0],e,h,null):o.call(r)})},100)}var r=t.$textbox,i=t.$textboxClear,p=t.unknownNameTextKey,u=t.io,w=t.errorIo,b=t.specialSearchHandlings||[],k=t.setValueCallback||function(){},d=t.searchFunc,s=t.getLabelFromDataFunc,h=OGT.Language,c=h?h.translate(p):"Okänd",e;if(r&&r.length){if(e=r.get(0),e.onBlurBypass=y,r.focus(g).blur(y),u.listen({newValue:function(){o.call(e)}}),i)i.on("click touchstart touchend",function(){u.set(null);r.focus()});OGT.Util.BrowserDetect.isIe()?window.setTimeout(v,100):v()}}}(),r=function(){var n={warning:["ogt-service-overlay-triangle icon--small icon--bg","ogt-service-overlay-warning icon--small icon--white","Varningstriangel"],info:["ogt-service-overlay-square icon--small icon--bg","ogt-service-overlay-info icon--small icon--white","Informationssymbol"],phone:["ogt-service-overlay-square icon--small icon--bg","ogt-service-overlay-info icon--small icon--white","Informationssymbol"],infosquare:["ogt-service-overlay-circle icon--small icon--bg","ogt-info-uppdaterad icon--small icon--white ","Informationssymbol"]},t='<span class="{2} icon--onbg {3}" title="{4}">  <i class="{1}" aria-hidden="true"><\/i>  <i class="{0}" aria-hidden="true"><\/i>  <span class="screen-reader-text hide-for-print">{4}<\/span><\/span>';return function(i){var f=i.cssClass||"",u=i.graphics,r=n[u],e=i.tooltip||r[2];return OGT.Util.String.format(t,r[1],r[0],f,u,e)}}(),it=function(){var n='<span class="traffic-type-group__icon traffic-icon {5} {0}"{2} ><span class="show-for-sr"> {4} <\/span><span class="traffic-icon {7}"><i class="traffic-icon--graphic {1}" aria-hidden="true"><\/i><span aria-hidden="true" class="traffic-type--text notranslate">{3}<\/span><\/span>{6}<\/span>',i=OGT.Util.String.format(n,"{0}","{1}",'""',"{3}","{4}","{5}","{6}","{7}","a"),u=OGT.Util.String.format(n,"{0}","{1}","","{3}","{4}","{5}","{6}","{7}","span"),f=/^(([0-9]{3})|([a-zA-ZåäöÅÄÖ]{2}))([0-9a-zA-ZåäöÅÄÖ]{1,3})$/;return function(n,e){e=e||{};var o=n.Ogt,c=n.TrainNo,p=!e.noLink&&OGT.Util.OGT.getLinePageUrl(o),l=e.icon,s=n.LineName,a=o.OgtLineNamePreformatted||s,v=f.exec(s),w=s,g=c&&!s.includes("Östgötapendeln")?"extern":"";if(v&&(w=v[1]+"<br />"+v[4]),c&&(a+=" "+OGT.Util.String.format(t.trainLineTemplate,c)),l){var y=l.iconOnIcon,b="",h=o.OgtTrafficTypeIconReplaceLineName&&o.OgtTrafficTypeIconCssClass,k=e.useTextOnGraphicalIcon,d=h&&!k?" ":w;return y&&(b=r({cssClass:"iconOnTtIcon",graphics:y.graphics,tooltip:y.tooltip})),OGT.Util.String.format(p?i:u,o.OgtTrafficTypeGroupCssClass+(h?" icon--use-graphical":"")+(k?" icon--use-text-on-graphical":"")+(d.length>3&&!o.OgtTrafficTypeIconReplaceLineName?" line-broken":""),h?h+"-32":"",p,d,a,l.cssClass||"",b,g)}return a}}(),rt=function(){function n(){this.$root=$(t)}var t='<div class="message"><div class="text">'+r({graphics:"warning"})+r({graphics:"info"})+'<span class="t"><\/span><\/div><\/div>';return n.prototype.show=function(n,t){var i=this.$root;t?(i.addClass("warning"),i.attr("role","alert")):(i.removeClass("warning"),i.attr("role","status"));i.find(".text .t").html(n);i.addClass("visible")},n.prototype.showOrAppend=function(n,t){var i=this.$root.find(".text .t").html()||"";i&&(i+="<br /><br/>");this.show(i+n,t)},n.prototype.showResponse=function(n,t){if(n){var i=OGT.Util.OGT.AsyncAjax.MetaData.translateToString(n);if(i){this.show(i,t);return}}this.hide()},n.prototype.hide=function(){this.$root.removeClass("visible")},function(t){return new n(t)}}(),ut=function(){var i="icon--even-width",n="unit",t=8;return function(r){r.find(".traffic-type-group__icon").each(function(){var u=$(this),r,f;for(u.addClass(i),r=1;r<=t;r++)u.removeClass(n+r);for(f=u.width(),r=1;r<=t;r++)if(u.removeClass(n+(r-1)).addClass(n+r),f<u.width()||u.hasClass(OGT.CONSTANTS.TRAFFIC_TYPES.NARTRAFIK))break;t<r&&u.removeClass(n+t).removeClass(i)})}}(),ft=function(){function i(n){return n&&n.Deviations&&n.Deviations.length>0?n.Deviations.some(function(n){return n.Categories&&n.Categories.CustomCategory=="TIMEOMITTED"}):!1}function f(n){var t=r(n);return s(t)}function s(n){return n?n.Canceled:!1}function h(n){return n&&(n=n.RealTimeInfo||n,n.length)?n[0]:!1}function r(n){return h(n.RealTime)}function e(n,t){var i=r(n);return i?i[t+"DeviationAffect"]!==0||i[t+"TimeDeviation"]!==0:!1}function o(n,t){var u=r(t),i;return u&&(i=u[n+"TimeDeviation"],i!=0)?i:!1}var n=function(){var n='<span class="approx"><span class="prefix">ca&nbsp;<\/span>{0}<\/span>',i=OGT.Util.String.format('<span title="{1}">{0}<\/span>',n,t.approximateTime);return function(t,r,u,f){var e,s,o,h;if(u=u||0,e=r[t+"DateTime"],!e)return null;var c=Date.fromSwedishDateTime(e),l=Date.splitSwedishDate(e),a=new Date(0,0,0,l.hour,l.minute,0);return c.addMinutes(u),a.addMinutes(u),s=Date.hasDstError(c),o="",s=="v"?o="&nbsp;"+OGT.Language.translate("/searchjourney/normalTime"):s=="s"&&(o="&nbsp;"+OGT.Language.translate("/searchjourney/daylightSavingTime")),h=a.getFormattedTime()+o,r[t+"IsTimingPoint"]?h:OGT.Util.String.format(f?i:n,h)}}(),u=['<span class="depature__canceled-header">',t.noLongerValidTime,"<\/span>"].join(""),c=['<div class="depature__canceled-content">',u,"<\/div>"].join(""),l=['<span class="depature__canceled-label">',t.noLongerValidTime,"<\/span>"].join(""),a=function(){function s(t,i){var r=o(t,i);return r?n(t,i,r,!0):!1}var r={both:'{0}<span class="hyphen">&nbsp;- <\/span>{1}&nbsp;',dep:"{0}&nbsp;",arr:"{1}&nbsp;"},h='<i class="ogt-{0} timingicon icon--small"><\/i>',c='<div class="deparr">{0}{1}<\/div>',l=['<div class="deparr time--deviated">','<span class="deviated--no-longer-valid" title="',t.changedTime,'">',"{0}","{3}<\/span>",'<span class="realtime">{2}',"{1}<\/span>","<\/div>"].join(""),a=['<div class="deparr time--deviated time-omitted-padding">','<span class="deviated--no-longer-valid" title="',t.omittedTime,'">',"{0}","{3}","<\/span>",'<span class="time-omitted">{2}',"{1}<\/span>","<\/div>"].join(""),v=['<div class="deparr">',u,"<div>","{0}{1}{2}<\/div>","<\/div>"].join("");return function(u){function ht(n,t){if(n){if(n.Accessibility!==undefined)return!1}else if(t&&t.Accessibility!==undefined)return!1;return!0}function ct(n,t){return n&&t?i(n):n&&!t?i(n):t&&!n?i(t):!1}var o=u.routelinkDep,y=u.routelinkArr,tt=ht(o,y),lt=ct(o,y),bt=u.isStopPoint,at=u.isPointOnTimeOmittedRoutelink,b=u.routelinkRealtime||o||y,vt=u.realTimeConsiderPrefix||(o?"Dep":"Arr"),it=o&&y?r.both:o?r.dep:r.arr,k=o&&s("Dep",o),d=y&&s("Arr",y),rt=f(b),yt=u.routelinkDep&&u.routelinkArr,g=k||d,ut=e(b,vt),pt=o&&n("Dep",o,0,!g),wt=y&&n("Arr",y,0,!g),p=OGT.Util.String.format(it,OGT.Util.Html.spanify("dep",pt),OGT.Util.Html.spanify("arr",wt)),w="",nt='<i class="ogt-timetable-16 timingicon icon--small" aria-hidden="true"><\/i>',ft,et,ot,st;return((u.alwaysShowRealTimeIcon||OGT.Util.OGT.routelinkIsVehicle(b))&&(ft=ut?"forecast-16":"timetable-16",et=ut?"realtime":"schedule",w=OGT.Util.String.format(h,ft,OGT.Language.translate("/searchjourney/realtime/explanation/"+et)),nt=""),rt&&yt)?OGT.Util.String.format(v,p,w,nt):lt||at?(ot=t.omittedTime,OGT.Util.String.format(a,p,ot,"")):g&&!rt?(st=OGT.Util.String.format(it,OGT.Util.Html.spanify(k!==!1&&tt==!1?"dep-deviated approx":"dep approx",k||o&&n("Dep",o,0,!0)),OGT.Util.Html.spanify(d!==!1&&tt==!1?"arr-deviated approx":"arr approx",d||y&&n("Arr",y,0,!0))),OGT.Util.String.format(l,p,w,st,nt)):OGT.Util.String.format(c,p,w)}}();return{timingPointFormatted:n,formattedDepArr:a,canceledPointTemplate:l,hasRoutelinkRealTime:e,getTimeDeviation:o,canceledHeader:u,canceledInfoTemplate:c,canceledDepartmentTntermediateItemName:"depature__canceled--intermediate__item",getRoutelinkOrPointRealTime:r,getRouteOrPointLinkIsCanceled:f,checkIfRealtimeIsOmitted:i}}(),i={desktop:3,tablet:2,mobile:1},s=function(){var r=1023,u=480,n,t;return typeof window.matchMedia=="undefined"?function(){var n=$(window).width();return n<=u?i.mobile:n<=r?i.tablet:i.desktop}:(n=window.matchMedia("(max-width: "+r+"px)"),t=window.matchMedia("(max-width: "+u+"px)"),function(r){if(r){function u(){r(s())}n.addListener(u);t.addListener(u)}return n.matches?i.mobile:t.matches?i.tablet:i.desktop})}(),et=function(){if(typeof window.matchMedia=="undefined")return function(){return!1};var n=window.matchMedia("screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-resolution: 240dpi)");return function(){return n.matches}}(),ct=function(){function n(n){return n.Id&&n.PlaceName&&n.OgtType!="custom"}function t(n){return n.OgtType+"-"+n.Id}function i(i,r){var f=n(i),e=t(i);f&&OGT.Util.Cookie.saveToQueue(r,e,u(i),OGT.CONSTANTS.JOURNEY_SEARCH.MAX_NUMBER_OF_RECENT_PLACES_TO_SAVE,OGT.CONSTANTS.COOKIE.LAST_DAYS)}return{addPlaceToRecentPlacesQueue:i}}(),h=function(){var n='<div class="spinner ie-only"><img src="/Static/img/spinner-small.gif" alt="Laddar..."><\/div><div class="spinner"><img src="/Static/img/spinner.svg" alt="Laddar..."><\/div>';return function(t){return OGT.Util.String.format(n,t||"")}}(),lt=function(){function n(n){var t=this.$root=$(OGT.Util.String.format(i,h(n)));t.click(function(n){n.stopPropagation()})}var i='<div class="loading-mask"><div class="loading-mask__mask"><\/div>{0}<\/div>',t="loading-mask--quite";return n.prototype.show=function(n){n=this.visible=typeof n=="undefined"||n;var i=this;n&&!this.$root.is(":visible")&&this.$root.addClass(t).show();window.setTimeout(function(){i.visible?i.$root.removeClass(t):i.$root.hide()},300)},n.prototype.hide=function(){this.show(!1)},function(t){return new n(t)}}(),bt=function(){function t(t,i){return(180+Math.atan2(t[1]-i[1],(t[0]-i[0])*n)*180/Math.PI)%360}function i(t,i,r){return Math.sqrt(Math.pow(t[0]-i[0],2)+Math.pow((t[1]-i[1])/(r||n||1),2))}var n=1.909;return{longitudeCompressionFactor:n,computeHeading:t,roughRelativeDistance:i}}(),n=window.OGT.Util.OGT;n.makePlaceData=y;n.stripPlace=u;n.placeTranslatable=v;n.isSamePlace=p;n.getIconCssClassForOgtPlaceType=w;n.getIconCssClassForOgtTrafficType=b;n.getSeverityIconCssClass=k;n.StopPointAlias={idFrom:l,textFrom:a};n.addEventsToPlaceTextbox=d;n.addEventsToLineTextbox=g;n.Format={minutes:nt,switches:tt,line:it,lineNameWithNameClashDefiningAttribute:o,stackedIcon:r,refreshLineIconWidth:ut,Realtime:ft};n.makeMessageArea=rt;n.getLayoutWidth=s;n.layoutWidths=i;n.isHighres=et;n.Filters={extractLowerCaseId:st,hasValue:ht};n.routelinkIsVehicle=ot;n.RecentSearches=ct;n.getSpinnerHtml=h;n.getLoadingMask=lt;n.getLinePageUrl=at;n.getStopPageUrl=vt;n.decodeEntities=yt;n.getCookie=c;n.setCookie=wt;n.validateCookie=pt;n.Geo=bt}(),function(){function i(n){var t,i;(!$(n.target).closest(".dropdown-trigger").length||$(n.target).hasClass("dropdown__close"))&&(t=$(".dropdown-trigger"),t.removeClass("open"),i=$(".dropdown"),i.removeClass("open"))}function r(){}function u(){var n=$(".tools__item.share");n.hasClass("expand-me")?n.removeClass("expand-me"):($(".expand-me").removeClass("expand-me"),n.addClass("expand-me"))}function f(){var n=$(".tools__item.translate");n.hasClass("expand-me")?n.removeClass("expand-me"):($(".expand-me").removeClass("expand-me"),n.addClass("expand-me"))}function e(){t({$root:$(".topbar-item.user"),doStopEventFunc:function(){var n=$("body").hasClass("status--logged-out");return n&&OGT.Login.show({loginSuccessfulCallback:function(){location.href=OGT.Login.loggedInUserData.loginLandingPage.url}}),n}});$(".dropdown-trigger").click(function(){var n=$(this);(n.find(".dropdown").length||n.parent().next(".dropdown").length)&&(n.toggleClass("open"),n.find(".dropdown").toggleClass("open"),n.parent().next(".dropdown").toggleClass("open"))});$(".dropdown a").on("keyup",function(n){var t;if(n.keyCode===9)if(t=$(this),n.shiftKey)$(".dropdown a").first().is(t)&&(t.parent().parent().removeClass("open"),t.closest(".open").removeClass("open"));else if($(".dropdown a").last().is(t))t.on("blur",function(){t.parent().parent().removeClass("open");t.closest(".open").removeClass("open")})});$(".tools__item.share").click(function(){OGT.Util.OGT.shareTrigger()});$(".tools__item.translate").click(function(){OGT.Util.OGT.translateTrigger()});$(document).on("click",function(n){OGT.Util.OGT.setUpDropdownClose(n)})}function s(){var n=window.location.href;document.getElementById("facebook__share").href="https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(n)}function h(){var n=window.location.href;document.getElementById("linkedin__share").href="https://www.linkedin.com/shareArticle?mini=true&url="+encodeURIComponent(n)}function c(n,t){var r=window.location.href,u=OGT.Util.OGT.decodeEntities(n),f=u.replace(/\&shy;/gi,""),e=f.replace(/\+/g," "),i=t.replace(/\+/g," "),o=encodeURIComponent(r);i=i+"%0D%0D"+o;document.getElementById("email__share").href="mailto:?subject="+e+"&body="+i}function a(){var n=$("button.hidden, a.hidden, input.hidden, textarea.hidden, div.hidden input, div.hidden button, div.hidden a, div.hidden textarea");n.attr("tabindex","-1")}function v(){var n=$("button.hidden, a.hidden, input.hidden, textarea.hidden, div.hidden input, div.hidden button, div.hidden a, div.hidden textarea");n.attr("aria-hidden","true")}function y(){$(document).keyup(function(){var n=$(":focus");n.addClass("focus");$(".focus").focusout(function(){$(this).removeClass("focus")})});$(document).click(function(){$(".focus").removeClass("focus")})}function p(){$(".skip-link").click(function(n){$("#breadcrumb").length>0&&$("#content__main .content--main").length>0&&(n.preventDefault(),$("#content__main .content--main").attr("tabindex","-1"),$("#content__main .content--main").focus())})}function w(){OGT.Util.BrowserDetect.isTouchDevice()?$("body").addClass("status--is-touch-device"):$("body").addClass("status--is-not-touch-device")}var t=function(){function n(){t.forEach(function(n){var t=n.$root,i=n.closeCallback;t.removeClass("open");t.find(".dropdown").removeClass("open");i&&i()})}var t=[];return $(document).click(n),function(i){function u(){r.find(".dropdown").addClass("open")}var r=i.$root,f=i.delayShowDropdown;return t.push({$root:r,closeCallback:i.closeCallback}),r.click(function(t){var o=i.doStopEventFunc,s,e;o&&o()||(t.stopPropagation(),s=r.hasClass("open"),n(),s||(e=i.openCallback,r.addClass("open"),f||u(),e&&e()))}),{close:n,showDropdown:u}}}(),o=function(){function n(){$("input.field__clear--auto").each(function(){var n=$(this),r,t=!1,i=!1;n.focus(function(){if(i)i=!1;else{r=n.val();n.val("");var u=this.type;(u=="time"||u=="date"||u=="datetime")&&(t=!0,window.setTimeout(function(){t=!1},500))}});n.blur(function(){if(t)i=!0;else{var u=n.val();u==""&&n.val(r)}})})}function t(){$("input.ogtFormatTime").each(function(){$(this).blur(function(){var t=this.type,n;t&&t!="text"||(n=OGT.Util.String.getNiceTimeOrFalse(this.value),n&&(this.value=n))})})}return function(){n();t()}}(),l=function(){function n(){var n=OGT.Language.translate,i=new Date,t=i.getHours();return t<4?n("/general/night"):t<10?n("/general/morning"):t<18?n("/general/day"):n("/general/evening")}return function(){var t=OGT.Language.translate,i=t("/general/greetingphrase"),r=OGT.Util.String.format(i,n());document.write(r)}}(),b=function(){var n=OGT.Util.Cookie.get(OGT.CONSTANTS.COOKIE.KEYS.KC);return n||(n=OGT.Util.QueryString.getParameter(location.search,OGT.CONSTANTS.QUERY_STRING.LOGIN_KC)!=null,n&&OGT.Util.Cookie.set(OGT.CONSTANTS.COOKIE.KEYS.KC,!0,365)),function(){return n}}(),n=window.OGT.Util.OGT;n.setUpDropdownClose=i;n.readSpeakerTrigger=r;n.shareTrigger=u;n.translateTrigger=f;n.setUpClickEvents=e;n.setUpClickEventsForTopBarItem=t;n.domManipulation=o;n.shareFacebook=s;n.shareLinkedIn=h;n.shareEmail=c;n.getGreetingPhrase=l;n.applyTabIndexToHiddenElements=a;n.applyAriaHiddenToHiddenElements=v;n.setUpFocus=y;n.setUpIsTouchDeviceFlag=w;n.setupSkipLink=p;n.isKcMode=b}(),function(){var n=function(){function r(n){function i(n,r){return n.ise?(OGT.Proxy.map.visible.stopListening(i),OGT.Proxy.journey.zoomTo.set({fullJourney:!0,selectedItemId:t},r),r.allIsDoneCallback):null}var t=OGT.Proxy.journey.getSelectedItemKeyFromJourney(n);OGT.Proxy.journey.selected.set([{id:t,highlitLevel:OGT.CONSTANTS.MAP.HIGHLIT_LEVELS.JOURNEY_SHOW_ON_MAP}]);OGT.Proxy.map.visible.listen({newValue:i});OGT.Proxy.map.visible.set({doe:!0})}function u(n,t,i){function u(n,f){if(n.ise===!0){OGT.Proxy.map.visible.stopListening(u);var e={selectedItemId:r,places:i};return typeof t=="number"&&(e.pathSegmentIndexes=[t]),OGT.Proxy.journey.zoomTo.set(e,f),f.allIsDoneCallback}return null}var r=OGT.Proxy.journey.getSelectedItemKeyFromJourney(n);OGT.Proxy.map.visible.listen({newValue:u});OGT.Proxy.journey.selected.set([{id:r,highlitLevel:OGT.CONSTANTS.MAP.HIGHLIT_LEVELS.JOURNEY_ZOOM_TO_ROUTELINKS_AND_PLACES}]);OGT.Proxy.map.visible.set({doe:!0})}var i=function(){var i=[3,4,6,8];return function(r,u){var o={graphics:"infosquare",tooltip:OGT.Language.translate("/searchjourney/journeyhasimportantinfo")},s=[0,0],h=[!1,!1],f=0,e;r.Routelinks.forEach(function(r){e=null;switch(r.ogtType){case"walkFromAndToAndAllTheWay":case"walkSignificantly":e=OGT.Util.OGT.Format.line(r.Line,{icon:{cssClass:"traffic-type-group__icon"}});break;case"vehicle":var c=t([r]).length,l=!1;c?(l={graphics:"warning",tooltip:n(c,!0)},i.forEach(function(n,t){n<=f&&(s[t]+=c)})):r.Line.FootNotes!=null&&(l=o,i.forEach(function(n,t){n<=f&&(h[t]=!0)}));e=OGT.Util.OGT.Format.line(r.Line,{icon:{cssClass:"traffic-type-group__icon",iconOnIcon:l}})}e&&(u.append(e),f++)});i.forEach(function(t,i){if(t<f){var r=!1,e=s[i];h[i]?r=o:e&&(r={graphics:"warning",tooltip:n(e,!0)});u.find(">*:nth-child("+(t+i-1)+")").after(OGT.Util.OGT.Format.line({LineName:"+"+(f-t+1),Ogt:{OgtTrafficTypeGroupCssClass:"COLLECTIVE"}},{icon:{cssClass:"traffic-type-group__icon",iconOnIcon:r}}))}});u.find("a").click(function(n){n.stopPropagation()})}}(),t=function(){var n=OGT.Language.translate,t=n("/searchjourney/fromtotemplate"),i=n("/searchjourney/fromtemplate"),r=n("/searchjourney/appliestemplate"),u=n("/searchjourney/and"),f='<br/><br/><a href="{0}" target="_blank">{0}<\/a>';return function(n){var e=[],o=[];return n.forEach(function(n){(n.Deviations||[]).forEach(function(n){var c=n.ogtHash;if(!o.includes(c)){o.push(c);var s={},h=[],l=n.ogtTexts.details;e.push(s);s.header=n.ogtTexts.header;(n.WebLinks||[]).forEach(function(n){l+=OGT.Util.String.format(f,n.URL)});s.details=l;(n.DeviationScopes||[]).forEach(function(n){var r=Date.fromSwedishDateTime(n.FromDateTime).getFormattedDateTime(),u=Date.fromSwedishDateTime(n.ToDateTime).getFormattedDateTime();r!=u?h.push(OGT.Util.String.format(t,r,u)):h.push(OGT.Util.String.format(i,r))});s.scopes=h.length?OGT.Util.String.format(r,h.join(u)):""}})}),e}}(),n=function(){var n=OGT.Language.translate,t=n("/searchjourney/hasdeviations"),i=n("/searchjourney/hasdeviation"),r=n("/searchjourney/clickformoreinformation");return function(n,u){return OGT.Util.String.format(n===1?i:t,n)+(u?" "+r:"")}}();return{addTravelPlan:i,getDeviations:t,getDeviationsText:n,showJourneyOnMap:r,zoomToRoutelinksAndPlaces:u}}();window.OGT.Util.OGT.Journey=n}();window.OGT.Util=window.OGT.Util||{};window.OGT.Util.OGT=window.OGT.Util.OGT||{};window.OGT.Util.OGT.AsyncAjax=function(){function u(n,t,i,r){var f=t,u;if(t&&(u=t.responseText,u))try{f=JSON.parse(u)}catch(e){}n.call(this,f,i,r)}function i(n){var t={},r=n.successCallback,f=n.failureCallback,e=n.completeCallback,i=n.thisArg;return r&&(t.successCallback=function(){r.apply(i,arguments)}),f&&(t.failureCallback=function(n,t,r){u.call(i,f,n,t,r)}),e&&(t.completeCallback=function(n,t,r){u.call(i,e,n,t,r)}),t}function r(n){var i=OGT.Login,t,r,u;i&&(t=i.loggedInUserData,t&&(r=t.minimumIdentifyLoggedInUser.Customer.ProviderUserId,u=r.split("").reduce(function(n,t){return n+t.charCodeAt(0)},0),n.setRequestHeader("LoggedInUserIdVerification",u)))}function n(n,t){var u=i(t),f=t.sendAsJsonPost,e=t.sendAsJsonPut,o=t.data,s={type:f?"POST":e?"PUT":t.method||"GET",url:n,data:f||e?"="+JSON.stringify(o).replace("=","%3D").replace("&","%26").replace("+","%2B"):o,dataType:"json",success:u.successCallback,error:u.failureCallback,complete:u.completeCallback,beforeSend:r,timeout:t.timeout};return f||e||(s.contentType="application/json; charset=utf-8"),$.ajax(s)}function t(n,t,u){t=t||"GET";var f=i(u),e=u.data,o=t=="GET",s={type:t,url:OGT.CONSTANTS.AJAX_ENDPOINTS.CUSTOMER_DB_SITE+"/"+n,data:o?e:JSON.stringify(e),dataType:"json",success:f.successCallback,error:f.failureCallback,complete:f.completeCallback,beforeSend:r};return o||(s.contentType="application/json; charset=utf-8"),$.ajax(s)}function f(n,t){var u=i(t),f=t.data,e={type:"GET",url:OGT.CONSTANTS.AJAX_ENDPOINTS.STORE+"/"+n,data:f,dataType:"json",success:u.successCallback,error:u.failureCallback,complete:u.completeCallback,beforeSend:r};return $.ajax(e)}function e(t,i,r){r.data={q:t,pointType:i||""};n(OGT.CONSTANTS.AJAX_ENDPOINTS.STOPS+"/Find",r)}function o(t,i){i.data={q:t,onlyProperLines:!!i.onlyProperLines,timeTablePeriod:i.timeTablePeriod};n(OGT.CONSTANTS.AJAX_ENDPOINTS.LINES+"/Find",i)}function s(t,i){i.data={ids:typeof t=="object"?(t||[]).join(","):t};n(OGT.CONSTANTS.AJAX_ENDPOINTS.STOPS+"/Infos",i)}function h(t,i){i.data={lineIds:typeof t=="object"?(t||[]).join(","):t};n(OGT.CONSTANTS.AJAX_ENDPOINTS.LINES+"/LinesDetails",i)}function c(t,i,r){r.data={stopId:t,lineIds:typeof i=="object"?(i||[]).join(","):i};n(OGT.CONSTANTS.AJAX_ENDPOINTS.STOPS+"/InfoWithLines",r)}function l(t,i){i.data={stopId:t};n(OGT.CONSTANTS.AJAX_ENDPOINTS.STOPS+"/LinesPassingStop",i)}function a(t,i){i.data={lineNrReal:t};n(OGT.CONSTANTS.AJAX_ENDPOINTS.LINES+"/StopsOnLine",i)}function v(t,i){i.data={lat:t[0],lng:t[1]};n(OGT.CONSTANTS.AJAX_ENDPOINTS.STOPS+"/Nearest",i)}function y(t,i,r,u){u.data={nextStopId:t,lineNrReal:i,runNo:r};n(OGT.CONSTANTS.AJAX_ENDPOINTS.STOP_DEPARTURES+"/GetRouteLinkKeyForVehicle",u)}function w(t,i){i.data={action:t};n(OGT.CONSTANTS.AJAX_ENDPOINTS.LOGIN+"/GetUrl",i)}var p=function(){var n=function(){function i(i){t(n+"get","GET",i)}function r(i){t(n+"save","PUT",i)}var n="trafficinformationusersettings/";return{get:i,save:r}}(),i=function(){function i(i){t(n+"get","GET",i)}function r(i){t(n+"save","PUT",i)}var n="notificationusersettings/";return{get:i,save:r}}(),r=function(){function i(i){t(n+"getnotificationsforwebheader/","GET",i)}function r(i){t(n+"countnotificationsforwebheader/","GET",i)}function u(i){t(n+"seteventhorizonforwebheader","POST",i)}var n="notification/";return{getForHeader:i,getCountForHeader:r,setEventHorizonForHeader:u}}();return{TrafficInformation:n,NotificationSettings:i,Notification:r}}(),b=function(){var i="customerclient/",r=function(){function r(n,r){var f=n.completeCallback||function(){};n.completeCallback=function(){f.apply(this,arguments);u()};t.push(function(){r(n)});i()}function u(){n=null;i()}function i(){n||t.length&&(n=t.shift(),n())}var t=[],n;return r}(),u=function(){function n(n){t(i+"getadvertising","GET",n)}function u(n){r(n,function(n){t(i+"updateadvertising","PUT",n)})}return{get:n,save:u}}(),f=function(){function n(n){t(i+"getadditionaldetails","GET",n)}return{get:n}}(),e=function(){function r(r){var u=r.data.isForKc?n(OGT.CONSTANTS.AJAX_ENDPOINTS.LOGIN+"/findmyaccount",r):t(i+"findmyaccount","GET",r)}return{get:r}}(),o=function(){function n(n){t(i+"deletecustomer","DELETE",n)}return{remove:n}}(),s=function(){function n(n){return t(i+"Search/","GET",n)}return{get:n}}(),h=function(){function n(n){return t(i+"Get/","GET",n)}return{get:n}}(),c=function(){function t(t){return n(OGT.CONSTANTS.AJAX_ENDPOINTS.GROUP_TRAVEL+"/GetForDate",t)}function i(t){return n(OGT.CONSTANTS.AJAX_ENDPOINTS.GROUP_TRAVEL+"/GetAllRawGroupTravelData",t)}function r(t){return t.sendAsJsonPost=!0,n(OGT.CONSTANTS.AJAX_ENDPOINTS.GROUP_TRAVEL+"/Update",t)}function u(t){return t.sendAsJsonPost=!0,n(OGT.CONSTANTS.AJAX_ENDPOINTS.GROUP_TRAVEL+"/Delete",t)}return{get:t,getAllRaw:i,update:r,remove:u}}();return{editUserAdditionalDetails:f,editUserDeleteAccount:o,editUserAdvertising:u,editUserGrouptravel:c,userSearch:s,userDetailed:h,editUserFindMyAccount:e}}(),k=function(){var t=OGT.CONSTANTS.AJAX_ENDPOINTS.CUSTOMER_ROME,i=function(){function i(i){n(t+"/GetGeneral",i)}return{get:i}}(),r=function(){function i(i){n(t+"/GetDetails",i)}function r(i){i.data&&(i.sendAsJsonPut=!0);i.method="PUT";n(t+"/UpdateDetails",i)}return{get:i,save:r}}(),u=function(){function i(i){i.data&&(i.sendAsJsonPut=!0);i.method="PUT";n(t+"/StartUpdateEmail",i)}return{save:i}}(),f=function(){function i(i){i.data&&(i.sendAsJsonPut=!0);i.method="PUT";n(t+"/UpdatePassword",i)}function r(i){i.data&&(i.sendAsJsonPut=!0);i.method="PUT";n(t+"/StartResetPassword",i)}return{save:i,startReset:r}}(),e=function(){function t(t){t.method="POST";t.sendAsJsonPost=!0;n(OGT.CONSTANTS.AJAX_ENDPOINTS.CUSTOMER_ROME+"/RequestDeleteAccount",t)}return{requestDelete:t}}();return{General:i,Details:r,Email:u,Password:f,Account:e}}(),d=function(){function n(n){return f("cardclient/getcards",n)}function t(n){return f("cardclient/getownerid",n)}return{getCards:n,getCardOwnerId:t}}(),g=function(){function t(t){n(OGT.CONSTANTS.AJAX_ENDPOINTS.ACTIVATION_POINT,t)}return{get:t}}(),nt=function(){function i(i){return t(n+"getnotificationsforlog","GET",i)}var n="notification/";return{get:i}}(),tt=function(){function n(n){var r=n&&n.resultMetaData||n,f,e;if(r){var u=OGT.Language,i=r.resultMessageKey,t=r.parameters;return u&&i?(f=u.translate("/resultMetaData/"+i),t||(t=[]),e=t.length,t.length=10,t.fill("",e),OGT.Util.String.format(f,t)):(i?i+" ":"")+(t||[]).join(" ")}return""}return{translateToString:n}}();return{doRequest:n,findPlaces:e,findLines:o,getStops:s,getLines:h,getStopAndLines:c,getLinesPassingStop:l,getStopsOnLine:a,getNearestStopArea:v,getRouteLinkKeyForVehicle:y,getUrl:w,User:p,UserEdit:b,UserRomeEdit:k,UserLog:nt,MetaData:tt,Store:d,ActivationPoint:g,adaptCallbacks:i}}();window.OGT.Util=window.OGT.Util||{};window.OGT.Util.OGT=window.OGT.Util.OGT||{},function(){function n(n){var t=[];return n.forEach(function(n){n.forEach(function(n,i){var r=t[i]||0;t[i]=Math.max(r,n.length*9)})}),{colWidths:t,rows:n}}function u(n){var u=n.length,r,t,i;if(12<u)for(r=Math.ceil(u/2),t=0;t<r;){if(i=r+t,n.substr(i,1)==" ")return[[n.substr(0,i)],[n.substr(i+1)]];t*=-1;0<=t&&(t+=1)}return[[n]]}var r={markerText:{start:"FRÅN",end:"TILL",on:"PÅ",off:"AV",transition:"BYT"}},i,t;window.OGT.Util.OGT.autoAdjustLabelSizeForIcon=n;i=function(){function rt(n){for(var t=[],u=n.length,r,i=0;i<u;i+=2)t.push(new jsts.geom.Coordinate(n[i],n[i+1]));return t[0].compareTo(t[t.length-1])!=0&&t.push(t[0]),r=h.createLinearRing(t),h.createPolygon(r)}function ut(n){return n.getCoordinates().reduce(function(n,t){return n.push(t.x),n.push(t.y),n},[])}function l(n,t,i,r){return i=="textLarge"&&3<n.length&&(i="textSmall",t+=-1.5),c(n,0,t,i,null,r)}function ot(n,i){var r,f,u,e;if(n=n.toLowerCase(),r=[],f=et.exec(n),f)if(u=f[1],e=f[2],u=="tåg"||u=="pendeltåg")r.push(t.Pin.Train);else if(u==OGT.CONSTANTS.SPECIAL_STOP_POINT_IDS.NARTRAFIK.toLowerCase())r.push(t.Pin.Taxi);else{var o=ft.test(n),s=u=="spår ",c=o?n:s?e:u,h=3.5;(s||o||i&&window.trainTrackTrafficTypes.some(function(n){return i==n.id}))&&(r.push(t.Pin.Tracks),h-=.5);r.push(l(c.toUpperCase(),h,"textMedium"))}return r}function st(){return 1}var v=OGT.CONSTANTS.MAP.ICON_SVG_OFFSET,i=v.X,f=v.Y,o=window.mapMarkers.styles,t=window.mapMarkers.groups,tt='<?xml version="1.0"?><svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="{2}" height="{3}" viewBox="0 0 {2} {3}"><style type="text/css">{0}<\/style><g opacity="{4}" transform="matrix({5})">{1}<\/g><\/svg>',y=8.3,it=.83,p=5,w=0,b='<g transform="matrix({1})" opacity="{2}">{0}<\/g>',k=OGT.CONSTANTS.MAP.MARKER.DIM.OPACITY,d="font-family:'Helvetica Neue', Helvetica, Arial; font-weight:bold;",e=d+"fill:#FFFFFF;",g={textLarge:e+"font-size:14px;",textMedium:e+"font-size:10px;",textSmall:e+"font-size:8px;",textStop:e+"font-size:16px;",textSign:d+"font-size:12px;fill:#F8DC00;",sign:"fill:#444444;stroke:#000000;stroke-width:1;"},s,nt,h,c;for(s in g)o[s]=g[s];nt=OGT.CONSTANTS.COLOURS.DEFAULT_ICON_COLOUR;h=new jsts.geom.GeometryFactory;c=function(){var n='<text x="{1}" y="{2}" text-anchor="{3}" class="{4}" fill="{5}" style="fill: {5}">{0}<\/text>';return function(t,r,u,e,o,s){return{svg:OGT.Util.String.format(n,t,i+(r||0),f+(u||0),o||"middle",e,s||"#FFFFFF"),usedClasses:[e],doNeverRotate:!0}}}();var a=function(){var u=26,n=4,t=19,r=0,o=14,e='<rect class="sign" x="{0}" y="{1}" width="{2}" height="{3}" />',s="{0}";return function(h,l){l=l||{};var w=l.anchorHorisontal||"left",it=l.anchorVertical||"middle",k=h.colWidths,d=h.rows,y=k.reduce(function(n,t){return n+t},0)+n+(w=="middle"?n:u),p=d.length*(t+r)-r,a=i+(l.x||0),v=f+(l.y||0)-p/2,g=l.dividingLines;switch(w){case"middle":a-=y/2;break;case"right":a-=y}switch(it){case"top":v+=p/2;break;case"bottom":v-=p/2}var nt=a+y,tt=v+p,b="";return g||(b+=OGT.Util.String.format(e,a,v,y,p)),b+=d.reduce(function(s,h,l){var b=v+l*(t+r),p=(w=="left"?u:n)+a-i;return s+(g?OGT.Util.String.format(e,a,b,y,t):"")+h.reduce(function(n,t,i){var r=k[i]/2,u;return p+=r,u=n+(t?c(t,p,b+o-f,"textSign").svg:""),p+=r,u},"")},""),{shape:[a,v,nt,v,nt,tt,a,tt],svg:OGT.Util.String.format(s,b),usedClasses:["sign","textSign"],doNoScaleWithUpscaleFunc:!0,doNeverRotate:!0}}}(),ft=/^[0-9][a-z]?$/i,et=/^(spår\ |tåg|pendeltåg|ä|[a-z0-9]{1,2})([a-z0-9]{0,2}|\d\/\d)$/i;return function(e){function vi(n){return pt<=n?1:n===0?k:(1+k)/2}var kt,ui,yi,pi,dt,wi,bi,ki,ft,fi,gt,ei,ni,ti,ii,di,gi;e=e||{};var ur=e.type,ht=e.cap,ct=e.coloursAndHighlights,pt=e.highestHighlitLevel,g=e.rotation,lt=e.scale||1,oi=e.opacity||1,nr=e.upscaleFunc||st,h=[],c=[],at={},si=[],ri="",s=[1,0,0,1,0,0],v,d,wt,bt,hi,ci,li,ai;ct&&ct.length||(ct=[{colour:nt,highlitLevel:0}]);kt=ct.reduce(function(n,t){return n===null||n===t.highlitLevel?t.highlitLevel:!1},null);switch(ur){case"address":h.push(ht?t.Pin.BackgroundLarge:t.Pin.BackgroundSmall);c.push(t.Pin.Dot);break;case"poi":h.push(ht?t.Pin.BackgroundLarge:t.Pin.BackgroundSmall);c.push(t.Pin.Star);break;case"custom":h.push(t.Pin.BackgroundPin);c.push(t.Pin.DotPin);break;case"stop":h.push(ht?t.Pin.BackgroundLarge:t.Pin.BackgroundSmall);c.push(l("H",6,"textStop"));break;case"end":h.push(t.TargetDestination2.BackgroundLarge);c.push(t.TargetDestination2.TargetDestinationDot);break;case"start":h.push(t.UserLocation.Circle);break;case"stopPoint":h.push(ht?t.Pin.BackgroundLarge:t.Pin.BackgroundSmall);c.pushArray(ot(e.stopPointAlias,e.trafficTypeId));break;case"vehiclePointer":if(ui=e.useNotOnMap,h.push(function(n){return ui?t.Position.NotOnMap2:0<n||typeof g=="number"&&!isNaN(g)?t.Position.Pointer2:t.Position.Directionless2}),yi=e.specialGraphics,yi){switch(yi){case"ogt-service-bus":dt="Bus";break;case"ogt-service-train":dt="Train"}dt&&(ui&&(dt+="Black"),pi=t.Position[dt]);pi&&(wi=OGT.Util.dictClone(pi),wi.doNeverRotate=!0,c.push(wi))}else c.push(l(e.text||"",5,"textLarge",ui?"#000000":null));break;case"userLocation":h.push(function(n){return 0<n||typeof g=="number"&&!isNaN(g)?t.UserLocation.GooglefakePointer:t.UserLocation.GooglefakeDirectionless});break;case"circle50":h.push(t.UserLocation.Circle);break;case"vehicleTrackArrow":h.push(t.Position.Arrow2);break;case"vehicleSign":c.push(a(e.signData,{dividingLines:!0,anchorHorisontal:g===null||g<=180?"right":"left"}));g=0;break;case"automat":h.push(t.Sign.Plate);c.push(t.Sign.Quickomat);break;case"salespoint":h.push(t.Sign.Plate);c.push(t.Sign.Shop);break;case"pendpark":h.push(t.Sign.Plate);c.push(t.Sign.Parking);break;case"activationPoint":h.push(t.Pointer.Background);bi=t.Pointer.TrafficLight;bi.doNeverRotate=!0;c.push(bi)}ki=e.label;ki&&h.push(a(n(u(ki)),{y:15,anchorHorisontal:"middle",anchorVertical:"top"}));var tr=(g||0)*Math.PI/180,ir=lt*Math.cos(tr),rr=lt*Math.sin(tr),et,vt,yt;for(h.forEach(function(n){var r=-lt*y,t=1;ct.forEach(function(u,e){var l,a,c;if(!(p<=e)){var k=typeof n=="function"?n(e):n,g=k.svg,h=k.shape;if(yt=u.highlitLevel,et=k.doNoScaleWithUpscaleFunc?1:nr(yt,pt),vt=oi,!kt&&pt&&(vt*=vi(yt)),k.doNeverRotate?(l=lt*et*t,a=0):(l=ir*et*t,a=rr*et*t),r+=lt*y*t,k.usedClasses.forEach(function(n){var t=o[n],r=/#FF00EE/g,f=r.test(t),i;f&&(i=n+"-"+e,g=g.replace(new RegExp(n,"g"),i),n=i);at[n]||(f&&(t=t.replace(r,u.colour)),at[n]=t)}),s=[l,a,-a,l,i*(1-l)+a*f+r,-a*i+f*(1-l)-r*.18],ri=OGT.Util.String.format(b,g,s.join(" "),vt*Math.min(1,1-(e-w)/(p-w)))+ri,h){for(h=h.slice(),c=0;c<h.length;c+=2)v=h[c],d=h[c+1],h[c]=s[0]*v+s[2]*d+s[4],h[c+1]=s[1]*v+s[3]*d+s[5];si.unshift(h)}t*=it}})}),vt=oi,yt=ct[0].highlitLevel,et=nr(yt,pt),!kt&&pt&&(vt*=vi(yt)),ht&&c.push(a({colWidths:[40],rows:[[r.markerText[ht]]]},{y:-36*et,anchorHorisontal:"middle",anchorVertical:"bottom"})),c.forEach(function(n){var h=n.doNoScaleWithUpscaleFunc?1:et,u,e,t,r;if(n.doNeverRotate?(u=lt*h,e=0):(u=ir*h,e=rr*h),n.usedClasses.forEach(function(n){at[n]||(at[n]=o[n])}),s=[u,e,-e,u,i*(1-u)+e*f,-e*i+f*(1-u)],ri+=OGT.Util.String.format(b,n.svg,s.join(" "),vt),t=n.shape,t){for(t=t.slice(),r=0;r<t.length;r+=2)v=t[r],d=t[r+1],t[r]=s[0]*v+s[2]*d+s[4],t[r+1]=s[1]*v+s[3]*d+s[5];si.push(t)}}),ft=ut(si.reduce(function(n,t){var i=rt(t);return n?n.union(i):i},null)),ti=0;ti<ft.length;ti+=2)v=ft[ti]-i,d=ft[ti+1]-f,(!fi||v<=fi[0])&&(fi=[v,d]),(!gt||gt[0]<=v)&&(gt=[v,d]),(!ei||d<=ei[1])&&(ei=[v,d]),(!ni||ni[1]<=d)&&(ni=[v,d]);for(wt=fi[0],bt=ei[1],hi=i+wt,ci=f+bt,li=gt[0]-wt,ai=ni[1]-bt,ii=0;ii<ft.length;ii+=2)ft[ii]-=hi,ft[ii+1]-=ci;s=[1,0,0,1,-hi,-ci];di="";for(gi in at)di+="."+gi+"{"+at[gi]+"}";return{svg:OGT.Util.String.format(tt,di,ri,li,ai,oi*(kt?vi(kt):1),s.join(" ")),anchor:[-wt,-bt],size:[li,ai],shape:ft,overlapCutOff:[-bt,gt[0],ni[1],-wt]}}}();t=function(){function n(n){this.init(n)}var t=function(){var n={};return function(t,r){var f=r.doNotCache,u=!f&&n[t];return u||(u=i(r),f||(n[t]=u)),u}}(),r=[];return n.prototype.init=function(n){this.options={};this.refreshListeners=[];this.setOptions(n);r.push(this)},n.prototype.setOptions=function(n){var i,r,t,u;n=n||{};i=this.options;r=n.careForGlobalHighlights;n.careForGlobalHighlights=!!(typeof r=="undefined"?i.careForGlobalHighlights:r);n.highestHighlitLevel=n.careForGlobalHighlights?OGT.Proxy.Util.HighlightHandler.getHighestHighlitLevel():0;t=n.coloursAndHighlights;t&&t.length&&(n.coloursAndHighlights=t.map(function(n){return{colour:n.colour,highlitLevel:n.highlitLevel||0}}));for(u in n)i[u]=n[u];this.refresh()},n.prototype.listenForRefresh=function(n){this.refreshListeners.push(n)},n.prototype.stopListening=function(n){for(var t=this.refreshListeners,i=t.length;i--;)t[i]===n&&t.splice(i,1)},n.prototype.refresh=function(n){var i=OGT.Util.dictClone(this.options),e=OGT.Proxy,r,u,f;if(i.scale=(i.scale||1)*(e?e.map.guiSize.get():1),r=OGT.Util.hashObject(i),!n&&this.hashKey==r)return!1;this.hashKey=r;u=t(r,i);for(f in u)this[f]=u[f];return this.refreshListeners.forEach(function(n){n()}),!0},n.prototype.getEncodedImageDataString=function(){var n="data:image/svg+xml;charset=UTF-8,{0}";return function(){return OGT.Util.String.format(n,encodeURIComponent(this.svg))}}(),n.prototype.getImgHtml=function(){var n='<img class="{3}" src="{0}" style="width: {1}px; height: {2}px;{4}" alt="{5}" />';return function(t){t=t||{};var i=this.size,u=t.cssClass||"",f=t.additionalStyles||"",r=t.outputScale||1,e=t.altText||"";return OGT.Util.String.format(n,this.getEncodedImageDataString(),i[0]*r,i[1]*r,u,f,e)}}(),n}();window.OGT.Util.OGT.Icon={Icon:t,get:function(n){return new t(n)},autoAdjustLabelSizeForIcon:n}}();window.OGT=window.OGT||{},function(){function f(n,t){return t?(t--,n.map(function(n){return f(n,t)})):[n[1],n[0]]}function yt(n){var i={},r,o=n.properties,e=n.geometry,u,t;if(e){u=e.coordinates;switch(e.type){case"Point":i.Ll=f(u);break;case"LineString":i.polylineDatas=[f(u,1)];break;case"MultiLineString":i.polylineDatas=f(u,2);break;case"Polygon":i.polygonDatas=[f(u,2)];break;case"MultiPolygon":i.polygonDatas=f(u,3)}}for(r in o){t=o[r];typeof t=="string"&&(t=OGT.Util.Trim.both(t),st.includes(r)&&(t=t.toUpperCase()));switch(r){case"linjelista":t=t.split(",").map(function(n){return parseInt(OGT.Util.Trim.both(n))});break;case"hplllista":t=t.split(",").map(function(n){return n.split(":")}).filter(function(n){return n.length==2}).map(function(n){return{id:parseInt(n[0]),stopPointId:n[1]}})}ot.includes(r)&&(t=parseInt(t),isNaN(t)&&(t=null));i[r]=t}return i}function pt(n){var t=n.features||[];return t.map(yt)}function wt(n){var r={},t,i;for(t in n)i=n[t],t=="successCallback"&&(i=function(n){return function(t){n.call(this,pt(t))}}(i)),r[t]=i;return OGT.Util.OGT.AsyncAjax.adaptCallbacks(r)}function a(n,t,i){return"      <ogc:PropertyIs"+i+"To>\n        <ogc:PropertyName>"+n+"<\/ogc:PropertyName>\n        <ogc:Literal>"+t+"<\/ogc:Literal>\n      <\/ogc:PropertyIs"+i+"To>\n"}function e(n,t){return a(n,t,"Equal")}function bt(n,t){return a(n,t,"GreaterThanOrEqual")}function v(n){var t=n.getSouthWest(),i=n.getNorthEast();return'      <ogc:BBOX>\n        <ogc:PropertyName>geom<\/ogc:PropertyName>\n        <Box srsName="urn:ogc:def:crs:EPSG::4326">\n           <coordinates>'+t[0]+","+t[1]+" "+i[0]+","+i[1]+"<\/coordinates>\n        <\/Box>\n      <\/ogc:BBOX>\n"}function u(n){var t=n.timeTablePeriodId;return t?e("tpid",t):""}function s(n,t,i){return function(r){if(i.some(function(n){var t=r[n];return t&&t.length}))n(r);else{var u=r.thisArg,f=r.successCallback,e=r.completeCallback;f&&f.call(u,t);e&&e.call(u,t)}}}function n(n,t,i){var u="<"+n+' service="WFS" version="1.0.0" outputFormat="application/json" xmlns:wfs="http://www.opengis.net/wfs" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd">\n'+t+"<\/"+n+">",r=wt(i);return $.ajax({type:"POST",url:nt,data:{"":u},success:r.successCallback,error:r.failureCallback,complete:r.completeCallback})}function t(n,t){return'<Query typeName="'+n+'">\n'+t+"<\/Query>\n"}function kt(i){var r=w(),f="<ogc:Filter>\n  <ogc:And>\n"+u(i)+v(i.bounds)+"  <\/ogc:And>\n<\/ogc:Filter>\n",e=t(l,r+f);n("GetFeature",e,i)}function dt(t){n("GetFeature",y(t),t)}function y(n){var i=w(),r="<ogc:Filter>\n  <ogc:And>\n"+u(n)+"    <ogc:Or>\n"+n.ids.map(function(n){return e("hplnr",n)}).join("")+"    <\/ogc:Or>\n  <\/ogc:And>\n<\/ogc:Filter>\n";return t(l,i+r)}function i(n){return n.map(function(n){return"<wfs:PropertyName>"+n+"<\/wfs:PropertyName>\n"}).join("")}function p(){return i(it)}function w(){return i(rt)}function b(){return i(tt)}function gt(){return i(ut)}function ni(){return i(ft)}function ti(){return i(et)}function ii(){return i(commuterParkingsPropertiesOfInterest)}function ri(i){var f=p(),r=i.bounds,e="<ogc:Filter>\n  <ogc:And>\n"+u(i)+bt("bytesprio",i.minPriority)+(r?v(r):"")+"  <\/ogc:And>\n<\/ogc:Filter>\n",o=t(c,f+e);n("GetFeature",o,i)}function k(n){var i=p(),r="<ogc:Filter>\n  <ogc:And>\n"+u(n)+"    <ogc:Or>\n"+n.ids.map(function(n){return e("hplnr",n)}).join("")+"    <\/ogc:Or>\n  <\/ogc:And>\n<\/ogc:Filter>\n";return t(c,i+r)}function ui(t){n("GetFeature",k(t),t)}function fi(t){n("GetFeature",k(t)+y(t),t)}function ei(n){var i="<ogc:Filter>\n    <ogc:Or>\n"+n.map(function(n){return e("typ",n)}).join("")+"    <\/ogc:Or>\n<\/ogc:Filter>\n";return t(ht,i)}function oi(t){n("GetFeature",ei(t.types),t)}function si(i){var f=b(),r=i.coords,e="<Contains><ogc:PropertyName>geom<\/ogc:PropertyName>\n<Point>\n<coordinates>"+r[1]+","+r[0]+"<\/coordinates>\n<\/Point>\n<\/Contains>\n",s="<ogc:Filter>\n  <ogc:And>\n"+u(i)+e+"  <\/ogc:And>\n<\/ogc:Filter>\n",h=t(o,f+s);return n("GetFeature",h,i)}function hi(r){var u=i(["geom"]),f=t(o,u),e=r.successCallback;return r.successCallback=function(n){e.call(this,n.reduce(function(n,t){return t.polylineDatas&&n.pushArray(t.polylineDatas),n},[]))},n("GetFeature",f,r)}function ci(n){var f=b(),i=n.ids,r=n.trafficTypes,s=i?"    <ogc:Or>\n"+i.map(function(n){return e("linje",n)}).join("")+"    <\/ogc:Or>\n":"",h=r?"    <ogc:Or>\n"+r.map(function(n){return e("trafiktyp",n)}).join("")+"    <\/ogc:Or>\n":"",c="<ogc:Filter>\n  <ogc:And>\n"+u(n)+s+h+"  <\/ogc:And>\n<\/ogc:Filter>\n";return t(o,f+c)}function ai(t){li(t);n("GetFeature",ci(t),t)}function vi(r){var f=i(["linje"]),e="<ogc:Filter>\n"+u(r)+"<\/ogc:Filter>\n";n("GetFeature",t(o,f+e),r)}function yi(i){var r=t(ct,gt());n("GetFeature",r,i)}function pi(i){var r=t(at,ni());n("GetFeature",r,i)}function wi(i){var r=t(lt,ti());n("GetFeature",r,i)}function bi(i){var r=t(vt,ii());n("GetFeature",r,i)}function ki(n){for(var t=n.length,i;t--;)i=n[t],n[t]=(i.lage?g:d)(i,t)}function d(n){var u=n.bytesprio,t=n.hplnr,i=n.Ll,r=n.hplnam,f=n.linjelista;return t&&i&&r?{OgtType:"stop",Id:t,Ll:i,PlaceName:r,lineIds:f,priority:u}:!1}function g(n,t){var r=n.lage,f=r.toLowerCase(),i=n.alias||r,e=OGT.Util.OGT.StopPointAlias.idFrom(i),o=n.linjelista,s=n.Ll,h=n.hplnr,u=n.hplnam,c=u+" "+OGT.Util.OGT.StopPointAlias.textFrom({stopPointAlias:i,upperCase:!0,alwaysAcceptAlias:!0});return{OgtType:"stop",Id:h,Ll:s,PlaceName:c,OgtStopPointData:{stopPointId:f,stopPointAliasId:e,stopPointAlias:i},MainStopPlaceName:u,lineIds:o,order:t}}function h(n){function r(f){t?(i&&(i.forEach(t),i=null),f&&t(f)):(i.push(f),u||(u=!0,n({successCallback:function(){var n=arguments;t=function(t){var i=t.successCallback,r=t.completeCallback,u=t.thisArg;i&&i.apply(u,n);r&&r.apply(u,n)};r()},failureCallback:function(){var n=arguments;t=function(t){var i=t.failureCallback,r=t.completeCallback,u=t.thisArg;i&&i.apply(u,n);r&&r.apply(u,n)};r()}})))}var i=[],t=null,u=!1;return r}var nt=OGT.CONSTANTS.AJAX_ENDPOINTS.GEOSERVER+"/fetch",tt=["hplllista","linje","geom","trafiktyp"],it=["hplnr","bytesprio","hplnam","linjelista","geom","tpid","zon"],rt=["hplnr","lage","alias","hplnam","linjelista","geom","tpid"],ut=["zonid","zonnamn","zontyp","geom"],ft=["namn","geom"],et=["namn","geom"],ot=["hplnr","linje","bytesprio","tpid","zon","zonid"],st=["trafiktyp","hplllista","lage"],r=window.geoServerFeatureIds,c=r.Stops,l=r.StopPoint,ht=r.SalesPoints,o=r.Lines,ct=r.TaxeZones,lt=r.Naromraden,at=r.PayZones,vt=r.CommuterParkings,li=function(){function n(n){var t={};return n.forEach(function(n){var r=parseInt(n.linje),i=t[r];i||(i=t[r]={hplLista:[],polylineDatas:[],polygonDatas:[]});var u=i.hplLista,f=i.polylineDatas,e=i.polygonDatas;n.hplllista.forEach(function(n){var r=n.id,f=n.stopPointId.trim().toLowerCase(),t=u.find(function(n){return r===n.id}),i;t||(t={id:r,stopPoints:[]},u.push(t));i=t.stopPoints;i.some(OGT.Util.String.getIsSameStringCaseInsensiveFunc(f))||i.push(f)});(n.polylineDatas||[]).forEach(function(n){f.push(n)});(n.polygonDatas||[]).forEach(function(n){e.push(n)})}),t}return function(t){var i=t.successCallback;t.successCallback=function(t){var r=n(t);i.call(this,r)}}}();window.OGT.GeoServer={fetchMainStopsInArea:ri,fetchMainStopsWithIds:s(ui,[],["ids"]),fetchStopPointsInArea:kt,fetchStopPointsWithIds:s(dt,[],["ids"]),fetchMainStopsAndStopPointsWithIds:s(fi,[],["ids"]),fetchServicePointsWithKeys:oi,fetchLinesWithIds:s(ai,{},["ids","trafficTypes"]),fetchLinesCoveringCoord:si,fetchAllLinesLineStringGeo:hi,fetchAllLineIds:vi,fetchAllTaxeZones:h(yi),fetchAllPayZones:h(pi),fetchAllNaromraden:h(wi),fetchAllCommuterParkings:h(bi),Util:{convertMainAndStopPointArrayFromGeoServerData:ki,getMainStopDataFromGeoServerData:d,getStopPointFromGeoServerData:g}}}(),function(){function i(t){OGT.Util.OGT.AsyncAjax.doRequest(OGT.CONSTANTS.AJAX_ENDPOINTS.POSROI+"/posroi/getdetails",{data:{filterNoBounds:t.filterNoBounds},successCallback:function(i){for(var s=[],c=i.length,f,r,o,u=0;u<c;u+=2){var l=i[u],h=i[u+1],e={};for(f in h)if(r=h[f],f=="basic"){r=n([l].concat(r))[0];for(o in r)e[o]=r[o]}else e[f]=r;s.push(e)}t.successCallback.call(this,s)},failureCallback:t.failureCallback,completeCallback:t.completeCallback})}var n=function(){var t=["groupLineNrReal","presentationLineNr","lineNrReal","runNo","startStopId","nextStopId","nextStopName","nextStopDepartureTimeText","lat","lng","angle","specialGraphics"],n=t.length;return function(i){for(var e=[],o=i.length,r,f,u=0;u<o;u+=n){for(r={},r.index=u/n,f=0;f<n;f++)r[t[f]]=i[u+f];r.ll=[r.lat,r.lng];e.push(r)}return e}}(),t=function(){function t(n){return n&&n.length?n.join(","):null}return function(i){function a(t){i.successCallback(n(t||[]))}var e=OGT.Util.OGT.AsyncAjax.adaptCallbacks(i),s=e.failureCallback,h=e.completeCallback,c=i.filterInBounds,l=i.filterNoBounds,r=i.bounds,o=null,u,f;return r&&(u=r.getSouthWest(),f=r.getNorthEast(),o=u[0]+","+u[1]+","+f[0]+","+f[1]),OGT.Util.OGT.AsyncAjax.doRequest(OGT.CONSTANTS.AJAX_ENDPOINTS.POSROI+"/posroi/get",{data:{bounds:o,filterInBounds:t(c),filterNoBounds:t(l)},timeout:5e3,successCallback:a,failureCallback:s,completeCallback:h})}}();window.OGT.PosRoi={fetchVehicles:t,fetchVehiclesDetails:i}}();window.timetablePeriods.forEach(function(n){n.From=Date.fromSwedishDate(n.From,!0);n.To=Date.fromSwedishDate(n.To,!0)});window.OGT=window.OGT||{};window.OGT.Login=window.OGT.Login||{},function(){OGT.Login.viewEditSaveGroup=function(){function n(){this.members=[]}return n.prototype.addMember=function(n){this.members.push(n)},n}()}();$(document).ready(function(){var n="expandable--active",i=$(".accordion_list.accordion_list__default_click"),t=window.matchMedia("screen and (max-width: 480px)").matches;i.each(function(){var r=$(this),i=r.find(".accordion_list__item.expandable");i.each(function(){var r=$(this);r.find("a").click(function(n){n.stopPropagation()});t&&r.find(".item__header-controls").attr("aria-haspopup",!0);r.on("click keypress",".item__header, .item__header-controls",function(u){var e,f;u.stopPropagation();u.preventDefault();e=r.hasClass(n);i.off("keydown");e?(r.find(".item__content").attr("hidden",!0),r.find(".item__header-controls").attr("aria-expanded",!1),r.removeClass(n)):(r.find(".item__content").attr("hidden",!1),r.find(".item__header-controls").attr("aria-expanded",!0),r.addClass(n),f=r.find(".navigation__bar.clearfix.hide-for-medium"),f.is(":visible")&&f.focus(),t&&OGT.Util.OGT.AccordionList.setupAccordionKeyPressEvents(r))});r.find(".navigation__bar.clearfix.hide-for-medium").on("click keypress",function(){$(".accordion_list .accordion_list__item.expandable .item__content").attr("hidden",!0);r.find(".item__header-controls").attr("aria-expanded","false");r.removeClass(n);r.off("keydown")})})})}),function(){function i(t){var i=t.noTextOnButtons;return OGT.Util.String.format(f,t.htmlContent,i?"&nbsp;":n.generalOpen,i?"&nbsp;":n.generalClose,t.additionalHtmlButtons||"")}function r(n){return OGT.Util.String.format(e,n.additionalCssClasses||"",n.additionalContent,n.htmlContent)}function t(t){var i=t.htmlContent;return OGT.Util.String.format(o,i||n.generalClose,i?"bar__center":"")}function s(n){var f=n.root||{},e=n.header,o=n.content,s=n.navigationBar||{};return OGT.Util.String.format(u,f.additionalCssClasses,f.additionalAttributes,e?i(e):"",o?r(o):"",t(s))}function h(n){function u(n){document.activeElement===t[0]&&(n.preventDefault(),t[t.length-1].focus())}function f(n){document.activeElement===t[t.length-1]&&(n.preventDefault(),t[0].focus())}var i=9,r=27,t=n.find(":focusable").toArray();n.on("keydown",function(e){switch(e.keyCode){case i:if(t.length===1){e.preventDefault();break}e.shiftKey?u(e):f(e);break;case r:n.find(".item__header-controls").click();n.off("keydown")}})}function c(n){n.off("keydown")}var n={generalToggle:"Växla mellan öppna och stäng",generalOpen:"Öppna",generalClose:"Stäng"},u='<div class="accordion_list__item expandable {0}" {1}>{2}{3}{4}<\/div>',f=['<div class="item__header" >','<div class="item__header_content">',"{0}","<\/div>",'<button class="item__header-controls" aria-expanded="false">','<span class="item icon open" ><span class="icon-text">'+n.generalOpen+'<\/span><i class="ogt-expand-32 hide-for-print" aria-hidden="true"><\/i><\/span>','<span class="item icon close" ><span class="icon-text">'+n.generalClose+'<\/span><i class="ogt-contract-32 hide-for-print" aria-hidden="true"><\/i><\/span>','<span class="item icon toggle" ><span class="screen-reader-text hide-for-print">'+n.generalToggle+'<\/span><i class="ogt-chevron-right-16 hide-for-print" aria-hidden="true"><\/i><\/span>',"<\/button>","<\/div>","{3}",].join(""),e='<div class="item__content {0}" hidden>{1}{2}<\/div>',o='<div class="navigation__bar clearfix hide-for-medium" role="button" tabindex="0"><div class="bar__item bar__close bar__left float-left" ><i class="ogt-close-32 icon--big" aria-label="Stäng"><\/i><\/div><div class="bar__item {1} float-left">{0}<\/div><div class="bar__item bar__right float-left"><\/div><\/div>',l=function(){var n='<div class="tofrom">{0} → {1}<\/div><div class="date">{2}<\/div>';return function(i){var r=$(t({htmlContent:OGT.Util.String.format(n,i.start,i.end,i.date)}));r.on("click keypress",function(n){n.preventDefault();n.stopPropagation();i.click()});return r}}();window.OGT.Util.OGT.AccordionList={getAccordionListItemHeader:i,getAccordionListItemContent:r,getAccordionListNavigationBar:t,getAccordionListItem:s,get$NavigationBarForJourneySearch:l,setupAccordionKeyPressEvents:h,removeAccordionKeyPressEvents:c}}();typeof JSON!="object"&&(JSON={}),function(){"use strict";function i(n){return n<10?"0"+n:n}function o(n){return e.lastIndex=0,e.test(n)?'"'+n.replace(e,function(n){var t=s[n];return typeof t=="string"?t:"\\u"+("0000"+n.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+n+'"'}function u(i,f){var s,l,h,a,v=n,c,e=f[i];e&&typeof e=="object"&&typeof e.toJSON=="function"&&(e=e.toJSON(i));typeof t=="function"&&(e=t.call(f,i,e));switch(typeof e){case"string":return o(e);case"number":return isFinite(e)?String(e):"null";case"boolean":case"null":return String(e);case"object":if(!e)return"null";if(n+=r,c=[],Object.prototype.toString.apply(e)==="[object Array]"){for(a=e.length,s=0;s<a;s+=1)c[s]=u(s,e)||"null";return h=c.length===0?"[]":n?"[\n"+n+c.join(",\n"+n)+"\n"+v+"]":"["+c.join(",")+"]",n=v,h}if(t&&typeof t=="object")for(a=t.length,s=0;s<a;s+=1)typeof t[s]=="string"&&(l=t[s],h=u(l,e),h&&c.push(o(l)+(n?": ":":")+h));else for(l in e)Object.prototype.hasOwnProperty.call(e,l)&&(h=u(l,e),h&&c.push(o(l)+(n?": ":":")+h));return h=c.length===0?"{}":n?"{\n"+n+c.join(",\n"+n)+"\n"+v+"}":"{"+c.join(",")+"}",n=v,h}}typeof Date.prototype.toJSON!="function"&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+i(this.getUTCMonth()+1)+"-"+i(this.getUTCDate())+"T"+i(this.getUTCHours())+":"+i(this.getUTCMinutes())+":"+i(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var f=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n,r,s={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},t;typeof JSON.stringify!="function"&&(JSON.stringify=function(i,f,e){var o;if(n="",r="",typeof e=="number")for(o=0;o<e;o+=1)r+=" ";else typeof e=="string"&&(r=e);if(t=f,f&&typeof f!="function"&&(typeof f!="object"||typeof f.length!="number"))throw new Error("JSON.stringify");return u("",{"":i})});typeof JSON.parse!="function"&&(JSON.parse=function(text,reviver){function walk(n,t){var r,u,i=n[t];if(i&&typeof i=="object")for(r in i)Object.prototype.hasOwnProperty.call(i,r)&&(u=walk(i,r),u!==undefined?i[r]=u:delete i[r]);return reviver.call(n,t,i)}var j;if(text=String(text),f.lastIndex=0,f.test(text)&&(text=text.replace(f,function(n){return"\\u"+("0000"+n.charCodeAt(0).toString(16)).slice(-4)})),/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return j=eval("("+text+")"),typeof reviver=="function"?walk({"":j},""):j;throw new SyntaxError("JSON.parse");})}(),function(n){n.fn.equalHeights=function(t,i){return tallest=t?t:0,this.each(function(){n(this).height()>tallest&&(tallest=n(this).height())}),tallest=tallest+5,i&&tallest>i&&(tallest=i),this.each(function(){n(this).height(tallest).css("overflow","hidden")})}}(jQuery);jQuery(function(n){n.datepicker.regional.sv={closeText:"Stäng",prevText:"&laquo;Förra",nextText:"Nästa&raquo;",currentText:"Idag",monthNames:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNamesShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],dayNames:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],dayNamesMin:["Sö","Må","Ti","On","To","Fr","Lö"],weekHeader:"Ve",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""};n.datepicker.setDefaults(n.datepicker.regional.sv)}),function(n){n.flexslider=function(t,i){var r=n(t);r.vars=n.extend({},n.flexslider.defaults,i);var f=r.vars.namespace,v=window.navigator&&window.navigator.msPointerEnabled&&window.MSGesture,y=("ontouchstart"in window||v||window.DocumentTouch&&document instanceof DocumentTouch)&&r.vars.touch,a="click touchend MSPointerUp keyup",s="",p,h=r.vars.direction==="vertical",o=r.vars.reverse,e=r.vars.itemWidth>0,c=r.vars.animation==="fade",l=r.vars.asNavFor!=="",u={},w=!0;n.data(t,"flexslider",r);u={init:function(){r.animating=!1;r.currentSlide=parseInt(r.vars.startAt?r.vars.startAt:0,10);isNaN(r.currentSlide)&&(r.currentSlide=0);r.animatingTo=r.currentSlide;r.atEnd=r.currentSlide===0||r.currentSlide===r.last;r.containerSelector=r.vars.selector.substr(0,r.vars.selector.search(" "));r.slides=n(r.vars.selector,r);r.container=n(r.containerSelector,r);r.count=r.slides.length;r.syncExists=n(r.vars.sync).length>0;r.vars.animation==="slide"&&(r.vars.animation="swing");r.prop=h?"top":"marginLeft";r.args={};r.manualPause=!1;r.stopped=!1;r.started=!1;r.startTimeout=null;r.transitions=!r.vars.video&&!c&&r.vars.useCSS&&function(){var i=document.createElement("div"),n=["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"],t;for(t in n)if(i.style[n[t]]!==undefined)return r.pfx=n[t].replace("Perspective","").toLowerCase(),r.prop="-"+r.pfx+"-transform",!0;return!1}();r.ensureAnimationEnd="";r.vars.controlsContainer!==""&&(r.controlsContainer=n(r.vars.controlsContainer).length>0&&n(r.vars.controlsContainer));r.vars.manualControls!==""&&(r.manualControls=n(r.vars.manualControls).length>0&&n(r.vars.manualControls));r.vars.randomize&&(r.slides.sort(function(){return Math.round(Math.random())-.5}),r.container.empty().append(r.slides));r.doMath();r.setup("init");r.vars.controlNav&&u.controlNav.setup();r.vars.directionNav&&u.directionNav.setup();r.vars.keyboard&&(n(r.containerSelector).length===1||r.vars.multipleKeyboard)&&n(document).bind("keyup",function(n){var t=n.keyCode,i;r.animating||t!==39&&t!==37||(i=t===39?r.getTarget("next"):t===37?r.getTarget("prev"):!1,r.flexAnimate(i,r.vars.pauseOnAction))});r.vars.mousewheel&&r.bind("mousewheel",function(n,t){n.preventDefault();var i=t<0?r.getTarget("next"):r.getTarget("prev");r.flexAnimate(i,r.vars.pauseOnAction)});r.vars.pausePlay&&u.pausePlay.setup();r.vars.slideshow&&r.vars.pauseInvisible&&u.pauseInvisible.init();r.vars.slideshow&&(r.vars.pauseOnHover&&r.hover(function(){r.manualPlay||r.manualPause||r.pause()},function(){r.manualPause||r.manualPlay||r.stopped||r.play()}),r.vars.pauseInvisible&&u.pauseInvisible.isHidden()||(r.vars.initDelay>0?r.startTimeout=setTimeout(r.play,r.vars.initDelay):r.play()));l&&u.asNav.setup();y&&r.vars.touch&&u.touch();(!c||c&&r.vars.smoothHeight)&&n(window).bind("resize orientationchange focus",u.resize);r.find("img").attr("draggable","false");setTimeout(function(){r.vars.start(r)},200)},asNav:{setup:function(){if(r.asNav=!0,r.animatingTo=Math.floor(r.currentSlide/r.move),r.currentItem=r.currentSlide,r.slides.removeClass(f+"active-slide").eq(r.currentItem).addClass(f+"active-slide"),v)t._slider=r,r.slides.each(function(){var t=this;t._gesture=new MSGesture;t._gesture.target=t;t.addEventListener("MSPointerDown",function(n){n.preventDefault();n.currentTarget._gesture&&n.currentTarget._gesture.addPointer(n.pointerId)},!1);t.addEventListener("MSGestureTap",function(t){t.preventDefault();var i=n(this),u=i.index();n(r.vars.asNavFor).data("flexslider").animating||i.hasClass("active")||(r.direction=r.currentItem<u?"next":"prev",r.flexAnimate(u,r.vars.pauseOnAction,!1,!0,!0))})});else r.slides.on(a,function(t){t.preventDefault();var i=n(this),u=i.index(),e=i.offset().left-n(r).scrollLeft();e<=0&&i.hasClass(f+"active-slide")?r.flexAnimate(r.getTarget("prev"),!0):n(r.vars.asNavFor).data("flexslider").animating||i.hasClass(f+"active-slide")||(r.direction=r.currentItem<u?"next":"prev",r.flexAnimate(u,r.vars.pauseOnAction,!1,!0,!0))})}},controlNav:{setup:function(){r.manualControls?u.controlNav.setupManual():u.controlNav.setupPaging()},setupPaging:function(){var c=r.vars.controlNav==="thumbnails"?"control-thumbs":"control-paging",h=1,e,o,t,i;if(r.controlNavScaffold=n('<ol class="'+f+"control-nav "+f+c+'"><\/ol>'),r.pagingCount>1)for(t=0;t<r.pagingCount;t++)o=r.slides.eq(t),e=r.vars.controlNav==="thumbnails"?'<img src="'+o.attr("data-thumb")+'"/>':"<a>"+h+"<\/a>","thumbnails"===r.vars.controlNav&&!0===r.vars.thumbCaptions&&(i=o.attr("data-thumbcaption"),""!=i&&undefined!=i&&(e+='<span class="'+f+'caption">'+i+"<\/span>")),r.controlNavScaffold.append("<li>"+e+"<\/li>"),h++;r.controlsContainer?n(r.controlsContainer).append(r.controlNavScaffold):r.append(r.controlNavScaffold);u.controlNav.set();u.controlNav.active();r.controlNavScaffold.delegate("a, img",a,function(t){if(t.preventDefault(),s===""||s===t.type){var i=n(this),e=r.controlNav.index(i);i.hasClass(f+"active")||(r.direction=e>r.currentSlide?"next":"prev",r.flexAnimate(e,r.vars.pauseOnAction))}s===""&&(s=t.type);u.setToClearWatchedEvent()})},setupManual:function(){r.controlNav=r.manualControls;u.controlNav.active();r.controlNav.bind(a,function(t){if(t.preventDefault(),s===""||s===t.type){var i=n(this),e=r.controlNav.index(i);i.hasClass(f+"active")||(r.direction=e>r.currentSlide?"next":"prev",r.flexAnimate(e,r.vars.pauseOnAction))}s===""&&(s=t.type);u.setToClearWatchedEvent()})},set:function(){var t=r.vars.controlNav==="thumbnails"?"img":"a";r.controlNav=n("."+f+"control-nav li "+t,r.controlsContainer?r.controlsContainer:r)},active:function(){r.controlNav.removeClass(f+"active").eq(r.animatingTo).addClass(f+"active")},update:function(t,i){r.pagingCount>1&&t==="add"?r.controlNavScaffold.append(n("<li><a>"+r.count+"<\/a><\/li>")):r.pagingCount===1?r.controlNavScaffold.find("li").remove():r.controlNav.eq(i).closest("li").remove();u.controlNav.set();r.pagingCount>1&&r.pagingCount!==r.controlNav.length?r.update(i,t):u.controlNav.active()}},directionNav:{setup:function(){var t=n('<ul class="'+f+'direction-nav"><li><a class="'+f+'prev" href="#">'+r.vars.prevText+'<\/a><\/li><li><a class="'+f+'next" href="#">'+r.vars.nextText+"<\/a><\/li><\/ul>");r.controlsContainer?(n(r.controlsContainer).append(t),r.directionNav=n("."+f+"direction-nav li a",r.controlsContainer)):(r.append(t),r.directionNav=n("."+f+"direction-nav li a",r));u.directionNav.update();r.directionNav.bind(a,function(t){t.preventDefault();var i;(s===""||s===t.type)&&(i=n(this).hasClass(f+"next")?r.getTarget("next"):r.getTarget("prev"),r.flexAnimate(i,r.vars.pauseOnAction));s===""&&(s=t.type);u.setToClearWatchedEvent()})},update:function(){var n=f+"disabled";r.pagingCount===1?r.directionNav.addClass(n).attr("tabindex","-1"):r.vars.animationLoop?r.directionNav.removeClass(n).removeAttr("tabindex"):r.animatingTo===0?r.directionNav.removeClass(n).filter("."+f+"prev").addClass(n).attr("tabindex","-1"):r.animatingTo===r.last?r.directionNav.removeClass(n).filter("."+f+"next").addClass(n).attr("tabindex","-1"):r.directionNav.removeClass(n).removeAttr("tabindex")}},pausePlay:{setup:function(){var t=n('<div class="'+f+'pauseplay"><a><\/a><\/div>');r.controlsContainer?(r.controlsContainer.append(t),r.pausePlay=n("."+f+"pauseplay a",r.controlsContainer)):(r.append(t),r.pausePlay=n("."+f+"pauseplay a",r));u.pausePlay.update(r.vars.slideshow?f+"pause":f+"play");r.pausePlay.bind(a,function(t){t.preventDefault();(s===""||s===t.type)&&(n(this).hasClass(f+"pause")?(r.manualPause=!0,r.manualPlay=!1,r.pause()):(r.manualPause=!1,r.manualPlay=!0,r.play()));s===""&&(s=t.type);u.setToClearWatchedEvent()})},update:function(n){n==="play"?r.pausePlay.removeClass(f+"pause").addClass(f+"play").html(r.vars.playText):r.pausePlay.removeClass(f+"play").addClass(f+"pause").html(r.vars.pauseText)}},touch:function(){var p,w,f,u,n,s,l=!1,a=0,y=0,i=0;if(v){t.style.msTouchAction="none";t._gesture=new MSGesture;t._gesture.target=t;t.addEventListener("MSPointerDown",g,!1);t._slider=r;t.addEventListener("MSGestureChange",nt,!1);t.addEventListener("MSGestureEnd",tt,!1);function g(n){n.stopPropagation();r.animating?n.preventDefault():(r.pause(),t._gesture.addPointer(n.pointerId),i=0,u=h?r.h:r.w,s=Number(new Date),f=e&&o&&r.animatingTo===r.last?0:e&&o?r.limit-(r.itemW+r.vars.itemMargin)*r.move*r.animatingTo:e&&r.currentSlide===r.last?r.limit:e?(r.itemW+r.vars.itemMargin)*r.move*r.currentSlide:o?(r.last-r.currentSlide+r.cloneOffset)*u:(r.currentSlide+r.cloneOffset)*u)}function nt(r){var e,o,a;if(r.stopPropagation(),e=r.target._slider,e){if(o=-r.translationX,a=-r.translationY,i=i+(h?a:o),n=i,l=h?Math.abs(i)<Math.abs(-o):Math.abs(i)<Math.abs(-a),r.detail===r.MSGESTURE_FLAG_INERTIA){setImmediate(function(){t._gesture.stop()});return}(!l||Number(new Date)-s>500)&&(r.preventDefault(),!c&&e.transitions&&(e.vars.animationLoop||(n=i/(e.currentSlide===0&&i<0||e.currentSlide===e.last&&i>0?Math.abs(i)/u+2:1)),e.setProps(f+n,"setTouch")))}}function tt(t){var r,e,h;(t.stopPropagation(),r=t.target._slider,r)&&(r.animatingTo!==r.currentSlide||l||n===null||(e=o?-n:n,h=e>0?r.getTarget("next"):r.getTarget("prev"),r.canAdvance(h)&&(Number(new Date)-s<550&&Math.abs(e)>50||Math.abs(e)>u/2)?r.flexAnimate(h,r.vars.pauseOnAction):c||r.flexAnimate(r.currentSlide,r.vars.pauseOnAction,!0)),p=null,w=null,n=null,f=null,i=0)}}else{t.addEventListener("touchstart",d,!1);function d(n){r.animating?n.preventDefault():(window.navigator.msPointerEnabled||n.touches.length===1)&&(r.pause(),u=h?r.h:r.w,s=Number(new Date),a=n.touches[0].pageX,y=n.touches[0].pageY,f=e&&o&&r.animatingTo===r.last?0:e&&o?r.limit-(r.itemW+r.vars.itemMargin)*r.move*r.animatingTo:e&&r.currentSlide===r.last?r.limit:e?(r.itemW+r.vars.itemMargin)*r.move*r.currentSlide:o?(r.last-r.currentSlide+r.cloneOffset)*u:(r.currentSlide+r.cloneOffset)*u,p=h?y:a,w=h?a:y,t.addEventListener("touchmove",b,!1),t.addEventListener("touchend",k,!1))}function b(t){a=t.touches[0].pageX;y=t.touches[0].pageY;n=h?p-y:p-a;l=h?Math.abs(n)<Math.abs(a-w):Math.abs(n)<Math.abs(y-w);(!l||Number(new Date)-s>500)&&(t.preventDefault(),!c&&r.transitions&&(r.vars.animationLoop||(n=n/(r.currentSlide===0&&n<0||r.currentSlide===r.last&&n>0?Math.abs(n)/u+2:1)),r.setProps(f+n,"setTouch")))}function k(){if(t.removeEventListener("touchmove",b,!1),r.animatingTo===r.currentSlide&&!l&&!(n===null)){var i=o?-n:n,e=i>0?r.getTarget("next"):r.getTarget("prev");r.canAdvance(e)&&(Number(new Date)-s<550&&Math.abs(i)>50||Math.abs(i)>u/2)?r.flexAnimate(e,r.vars.pauseOnAction):c||r.flexAnimate(r.currentSlide,r.vars.pauseOnAction,!0)}t.removeEventListener("touchend",k,!1);p=null;w=null;n=null;f=null}}},resize:function(){!r.animating&&r.is(":visible")&&(e||r.doMath(),c?u.smoothHeight():e?(r.slides.width(r.computedW),r.update(r.pagingCount),r.setProps()):h?(r.viewport.height(r.h),r.setProps(r.h,"setTotal")):(r.vars.smoothHeight&&u.smoothHeight(),r.newSlides.width(r.computedW),r.setProps(r.computedW,"setTotal")))},smoothHeight:function(n){if(!h||c){var t=c?r:r.viewport;n?t.animate({height:r.slides.eq(r.animatingTo).height()},n):t.height(r.slides.eq(r.animatingTo).height())}},sync:function(t){var i=n(r.vars.sync).data("flexslider"),u=r.animatingTo;switch(t){case"animate":i.flexAnimate(u,r.vars.pauseOnAction,!1,!0);break;case"play":i.playing||i.asNav||i.play();break;case"pause":i.pause()}},uniqueID:function(t){return t.filter("[id]").add(t.find("[id]")).each(function(){var t=n(this);t.attr("id",t.attr("id")+"_clone")}),t},pauseInvisible:{visProp:null,init:function(){var t=["webkit","moz","ms","o"],n,i;if("hidden"in document)return"hidden";for(n=0;n<t.length;n++)t[n]+"Hidden"in document&&(u.pauseInvisible.visProp=t[n]+"Hidden");u.pauseInvisible.visProp&&(i=u.pauseInvisible.visProp.replace(/[H|h]idden/,"")+"visibilitychange",document.addEventListener(i,function(){u.pauseInvisible.isHidden()?r.startTimeout?clearTimeout(r.startTimeout):r.pause():r.started?r.play():r.vars.initDelay>0?setTimeout(r.play,r.vars.initDelay):r.play()}))},isHidden:function(){return document[u.pauseInvisible.visProp]||!1}},setToClearWatchedEvent:function(){clearTimeout(p);p=setTimeout(function(){s=""},3e3)}};r.flexAnimate=function(t,i,s,a,v){var w,p,d,b,k;if(r.vars.animationLoop||t===r.currentSlide||(r.direction=t>r.currentSlide?"next":"prev"),l&&r.pagingCount===1&&(r.direction=r.currentItem<t?"next":"prev"),!r.animating&&(r.canAdvance(t,v)||s)&&r.is(":visible")){if(l&&a)if(w=n(r.vars.asNavFor).data("flexslider"),r.atEnd=t===0||t===r.count-1,w.flexAnimate(t,!0,!1,!0,v),r.direction=r.currentItem<t?"next":"prev",w.direction=r.direction,Math.ceil((t+1)/r.visible)-1!==r.currentSlide&&t!==0)r.currentItem=t,r.slides.removeClass(f+"active-slide").eq(t).addClass(f+"active-slide"),t=Math.floor(t/r.visible);else return r.currentItem=t,r.slides.removeClass(f+"active-slide").eq(t).addClass(f+"active-slide"),!1;r.animating=!0;r.animatingTo=t;i&&r.pause();r.vars.before(r);r.syncExists&&!v&&u.sync("animate");r.vars.controlNav&&u.controlNav.active();e||r.slides.removeClass(f+"active-slide").eq(t).addClass(f+"active-slide");r.atEnd=t===0||t===r.last;r.vars.directionNav&&u.directionNav.update();t===r.last&&(r.vars.end(r),r.vars.animationLoop||r.pause());c?y?(r.slides.eq(r.currentSlide).css({opacity:0,zIndex:1}),r.slides.eq(t).css({opacity:1,zIndex:2}),r.wrapup(p)):(r.slides.eq(r.currentSlide).css({zIndex:1}).animate({opacity:0},r.vars.animationSpeed,r.vars.easing),r.slides.eq(t).css({zIndex:2}).animate({opacity:1},r.vars.animationSpeed,r.vars.easing,r.wrapup)):(p=h?r.slides.filter(":first").height():r.computedW,e?(d=r.vars.itemMargin,k=(r.itemW+d)*r.move*r.animatingTo,b=k>r.limit&&r.visible!==1?r.limit:k):b=r.currentSlide===0&&t===r.count-1&&r.vars.animationLoop&&r.direction!=="next"?o?(r.count+r.cloneOffset)*p:0:r.currentSlide===r.last&&t===0&&r.vars.animationLoop&&r.direction!=="prev"?o?0:(r.count+1)*p:o?(r.count-1-t+r.cloneOffset)*p:(t+r.cloneOffset)*p,r.setProps(b,"",r.vars.animationSpeed),r.transitions?(r.vars.animationLoop&&r.atEnd||(r.animating=!1,r.currentSlide=r.animatingTo),r.container.unbind("webkitTransitionEnd transitionend"),r.container.bind("webkitTransitionEnd transitionend",function(){clearTimeout(r.ensureAnimationEnd);r.wrapup(p)}),clearTimeout(r.ensureAnimationEnd),r.ensureAnimationEnd=setTimeout(function(){r.wrapup(p)},r.vars.animationSpeed+100)):r.container.animate(r.args,r.vars.animationSpeed,r.vars.easing,function(){r.wrapup(p)}));r.vars.smoothHeight&&u.smoothHeight(r.vars.animationSpeed)}};r.wrapup=function(n){c||e||(r.currentSlide===0&&r.animatingTo===r.last&&r.vars.animationLoop?r.setProps(n,"jumpEnd"):r.currentSlide===r.last&&r.animatingTo===0&&r.vars.animationLoop&&r.setProps(n,"jumpStart"));r.animating=!1;r.currentSlide=r.animatingTo;r.vars.after(r)};r.animateSlides=function(){!r.animating&&w&&r.flexAnimate(r.getTarget("next"))};r.pause=function(){clearInterval(r.animatedSlides);r.animatedSlides=null;r.playing=!1;r.vars.pausePlay&&u.pausePlay.update("play");r.syncExists&&u.sync("pause")};r.play=function(){r.playing&&clearInterval(r.animatedSlides);r.animatedSlides=r.animatedSlides||setInterval(r.animateSlides,r.vars.slideshowSpeed);r.started=r.playing=!0;r.vars.pausePlay&&u.pausePlay.update("pause");r.syncExists&&u.sync("play")};r.stop=function(){r.pause();r.stopped=!0};r.canAdvance=function(n,t){var i=l?r.pagingCount-1:r.last;return t?!0:l&&r.currentItem===r.count-1&&n===0&&r.direction==="prev"?!0:l&&r.currentItem===0&&n===r.pagingCount-1&&r.direction!=="next"?!1:n===r.currentSlide&&!l?!1:r.vars.animationLoop?!0:r.atEnd&&r.currentSlide===0&&n===i&&r.direction!=="next"?!1:r.atEnd&&r.currentSlide===i&&n===0&&r.direction==="next"?!1:!0};r.getTarget=function(n){return r.direction=n,n==="next"?r.currentSlide===r.last?0:r.currentSlide+1:r.currentSlide===0?r.last:r.currentSlide-1};r.setProps=function(n,t,i){var u=function(){var i=n?n:(r.itemW+r.vars.itemMargin)*r.move*r.animatingTo,u=function(){if(e)return t==="setTouch"?n:o&&r.animatingTo===r.last?0:o?r.limit-(r.itemW+r.vars.itemMargin)*r.move*r.animatingTo:r.animatingTo===r.last?r.limit:i;switch(t){case"setTotal":return o?(r.count-1-r.currentSlide+r.cloneOffset)*n:(r.currentSlide+r.cloneOffset)*n;case"setTouch":return o?n:n;case"jumpEnd":return o?n:r.count*n;case"jumpStart":return o?r.count*n:n;default:return n}}();return u*-1+"px"}();r.transitions&&(u=h?"translate3d(0,"+u+",0)":"translate3d("+u+",0,0)",i=i!==undefined?i/1e3+"s":"0s",r.container.css("-"+r.pfx+"-transition-duration",i),r.container.css("transition-duration",i));r.args[r.prop]=u;(r.transitions||i===undefined)&&r.container.css(r.args);r.container.css("transform",u)};r.setup=function(t){if(c)r.slides.css({width:"100%",float:"left",marginRight:"-100%",position:"relative"}),t==="init"&&(y?r.slides.css({opacity:0,display:"block",webkitTransition:"opacity "+r.vars.animationSpeed/1e3+"s ease",zIndex:1}).eq(r.currentSlide).css({opacity:1,zIndex:2}):r.vars.fadeFirstSlide==!1?r.slides.css({opacity:0,display:"block",zIndex:1}).eq(r.currentSlide).css({zIndex:2}).css({opacity:1}):r.slides.css({opacity:0,display:"block",zIndex:1}).eq(r.currentSlide).css({zIndex:2}).animate({opacity:1},r.vars.animationSpeed,r.vars.easing)),r.vars.smoothHeight&&u.smoothHeight();else{var i,s;t==="init"&&(r.viewport=n('<div class="'+f+'viewport"><\/div>').css({overflow:"hidden",position:"relative"}).appendTo(r).append(r.container),r.cloneCount=0,r.cloneOffset=0,o&&(s=n.makeArray(r.slides).reverse(),r.slides=n(s),r.container.empty().append(r.slides)));r.vars.animationLoop&&!e&&(r.cloneCount=2,r.cloneOffset=1,t!=="init"&&r.container.find(".clone").remove(),r.container.append(u.uniqueID(r.slides.first().clone().addClass("clone")).attr("aria-hidden","true")).prepend(u.uniqueID(r.slides.last().clone().addClass("clone")).attr("aria-hidden","true")));r.newSlides=n(r.vars.selector,r);i=o?r.count-1-r.currentSlide+r.cloneOffset:r.currentSlide+r.cloneOffset;h&&!e?(r.container.height((r.count+r.cloneCount)*200+"%").css("position","absolute").width("100%"),setTimeout(function(){r.newSlides.css({display:"block"});r.doMath();r.viewport.height(r.h);r.setProps(i*r.h,"init")},t==="init"?100:0)):(r.container.width((r.count+r.cloneCount)*200+"%"),r.setProps(i*r.computedW,"init"),setTimeout(function(){r.doMath();r.newSlides.css({width:r.computedW,float:"left",display:"block"});r.vars.smoothHeight&&u.smoothHeight()},t==="init"?100:0))}e||r.slides.removeClass(f+"active-slide").eq(r.currentSlide).addClass(f+"active-slide");r.vars.init(r)};r.doMath=function(){var u=r.slides.first(),n=r.vars.itemMargin,t=r.vars.minItems,i=r.vars.maxItems;r.w=r.viewport===undefined?r.width():r.viewport.width();r.h=u.height();r.boxPadding=u.outerWidth()-u.width();e?(r.itemT=r.vars.itemWidth+n,r.minW=t?t*r.itemT:r.w,r.maxW=i?i*r.itemT-n:r.w,r.itemW=r.minW>r.w?(r.w-n*(t-1))/t:r.maxW<r.w?(r.w-n*(i-1))/i:r.vars.itemWidth>r.w?r.w:r.vars.itemWidth,r.visible=Math.floor(r.w/r.itemW),r.move=r.vars.move>0&&r.vars.move<r.visible?r.vars.move:r.visible,r.pagingCount=Math.ceil((r.count-r.visible)/r.move+1),r.last=r.pagingCount-1,r.limit=r.pagingCount===1?0:r.vars.itemWidth>r.w?r.itemW*(r.count-1)+n*(r.count-1):(r.itemW+n)*r.count-r.w-n):(r.itemW=r.w,r.pagingCount=r.count,r.last=r.count-1);r.computedW=r.itemW-r.boxPadding};r.update=function(n,t){r.doMath();e||(n<r.currentSlide?r.currentSlide+=1:n<=r.currentSlide&&n!==0&&(r.currentSlide-=1),r.animatingTo=r.currentSlide);r.vars.controlNav&&!r.manualControls&&(t==="add"&&!e||r.pagingCount>r.controlNav.length?u.controlNav.update("add"):(t==="remove"&&!e||r.pagingCount<r.controlNav.length)&&(e&&r.currentSlide>r.last&&(r.currentSlide-=1,r.animatingTo-=1),u.controlNav.update("remove",r.last)));r.vars.directionNav&&u.directionNav.update()};r.addSlide=function(t,i){var u=n(t);r.count+=1;r.last=r.count-1;h&&o?i!==undefined?r.slides.eq(r.count-i).after(u):r.container.prepend(u):i!==undefined?r.slides.eq(i).before(u):r.container.append(u);r.update(i,"add");r.slides=n(r.vars.selector+":not(.clone)",r);r.setup();r.vars.added(r)};r.removeSlide=function(t){var i=isNaN(t)?r.slides.index(n(t)):t;r.count-=1;r.last=r.count-1;isNaN(t)?n(t,r.slides).remove():h&&o?r.slides.eq(r.last).remove():r.slides.eq(t).remove();r.doMath();r.update(i,"remove");r.slides=n(r.vars.selector+":not(.clone)",r);r.setup();r.vars.removed(r)};u.init()};n(window).blur(function(){focused=!1}).focus(function(){focused=!0});n.flexslider.defaults={namespace:"flex-",selector:".slides > li",animation:"fade",easing:"swing",direction:"horizontal",reverse:!1,animationLoop:!0,smoothHeight:!1,startAt:0,slideshow:!0,slideshowSpeed:7e3,animationSpeed:600,initDelay:0,randomize:!1,fadeFirstSlide:!0,thumbCaptions:!1,pauseOnAction:!0,pauseOnHover:!1,pauseInvisible:!0,useCSS:!0,touch:!0,video:!1,controlNav:!0,directionNav:!0,prevText:"",nextText:"",keyboard:!0,multipleKeyboard:!1,mousewheel:!1,pausePlay:!1,pauseText:"Pause",playText:"Play",controlsContainer:"",manualControls:"",sync:"",asNavFor:"",itemWidth:0,itemMargin:0,minItems:1,maxItems:0,move:0,allowOneSlide:!0,start:function(){},before:function(){},after:function(){},end:function(){},added:function(){},removed:function(){},init:function(){}};n.fn.flexslider=function(t){if(t===undefined&&(t={}),typeof t=="object")return this.each(function(){var i=n(this),u=t.selector?t.selector:".slides > li",r=i.find(u);r.length===1&&t.allowOneSlide===!0||r.length===0?(r.fadeIn(400),t.start&&t.start(i)):i.data("flexslider")===undefined&&new n.flexslider(this,t)});var i=n(this).data("flexslider");switch(t){case"play":i.play();break;case"pause":i.pause();break;case"stop":i.stop();break;case"next":i.flexAnimate(i.getTarget("next"),!0);break;case"prev":case"previous":i.flexAnimate(i.getTarget("prev"),!0);break;default:typeof t=="number"&&i.flexAnimate(t,!0)}}}(jQuery),function(n){"use strict";function t(n){return(n||"").toLowerCase()}var i="2.1.6";n.fn.cycle=function(i){var r;return this.length===0&&!n.isReady?(r={s:this.selector,c:this.context},n.fn.cycle.log("requeuing slideshow (dom not ready)"),n(function(){n(r.s,r.c).cycle(i)}),this):this.each(function(){var f,r,h,o,u=n(this),s=n.fn.cycle.log,e;if(!u.data("cycle.opts")){(u.data("cycle-log")===!1||i&&i.log===!1||r&&r.log===!1)&&(s=n.noop);s("--c2 init--");f=u.data();for(e in f)f.hasOwnProperty(e)&&/^cycle[A-Z]+/.test(e)&&(o=f[e],h=e.match(/^cycle(.*)/)[1].replace(/^[A-Z]/,t),s(h+":",o,"("+typeof o+")"),f[h]=o);r=n.extend({},n.fn.cycle.defaults,f,i||{});r.timeoutId=0;r.paused=r.paused||!1;r.container=u;r._maxZ=r.maxZ;r.API=n.extend({_container:u},n.fn.cycle.API);r.API.log=s;r.API.trigger=function(n,t){return r.container.trigger(n,t),r.API};u.data("cycle.opts",r);u.data("cycle.API",r.API);r.API.trigger("cycle-bootstrap",[r,r.API]);r.API.addInitialSlides();r.API.preInitSlideshow();r.slides.length&&r.API.initSlideshow()}})};n.fn.cycle.API={opts:function(){return this._container.data("cycle.opts")},addInitialSlides:function(){var t=this.opts(),i=t.slides;t.slideCount=0;t.slides=n();i=i.jquery?i:t.container.find(i);t.random&&i.sort(function(){return Math.random()-.5});t.API.add(i)},preInitSlideshow:function(){var t=this.opts(),i;t.API.trigger("cycle-pre-initialize",[t]);i=n.fn.cycle.transitions[t.fx];i&&n.isFunction(i.preInit)&&i.preInit(t);t._preInitialized=!0},postInitSlideshow:function(){var t=this.opts(),i;t.API.trigger("cycle-post-initialize",[t]);i=n.fn.cycle.transitions[t.fx];i&&n.isFunction(i.postInit)&&i.postInit(t)},initSlideshow:function(){var t=this.opts(),r=t.container,i;t.API.calcFirstSlide();t.container.css("position")=="static"&&t.container.css("position","relative");n(t.slides[t.currSlide]).css({opacity:1,display:"block",visibility:"visible"});t.API.stackSlides(t.slides[t.currSlide],t.slides[t.nextSlide],!t.reverse);t.pauseOnHover&&(t.pauseOnHover!==!0&&(r=n(t.pauseOnHover)),r.hover(function(){t.API.pause(!0)},function(){t.API.resume(!0)}));t.timeout&&(i=t.API.getSlideOpts(t.currSlide),t.API.queueTransition(i,i.timeout+t.delay));t._initialized=!0;t.API.updateView(!0);t.API.trigger("cycle-initialized",[t]);t.API.postInitSlideshow()},pause:function(t){var i=this.opts(),r=i.API.getSlideOpts(),u=i.hoverPaused||i.paused;t?i.hoverPaused=!0:i.paused=!0;u||(i.container.addClass("cycle-paused"),i.API.trigger("cycle-paused",[i]).log("cycle-paused"),r.timeout&&(clearTimeout(i.timeoutId),i.timeoutId=0,i._remainingTimeout-=n.now()-i._lastQueue,(i._remainingTimeout<0||isNaN(i._remainingTimeout))&&(i._remainingTimeout=undefined)))},resume:function(n){var t=this.opts(),i=!t.hoverPaused&&!t.paused;n?t.hoverPaused=!1:t.paused=!1;i||(t.container.removeClass("cycle-paused"),t.slides.filter(":animated").length===0&&t.API.queueTransition(t.API.getSlideOpts(),t._remainingTimeout),t.API.trigger("cycle-resumed",[t,t._remainingTimeout]).log("cycle-resumed"))},add:function(t,i){var r=this.opts(),e=r.slideCount,u=!1,f;n.type(t)=="string"&&(t=n.trim(t));n(t).each(function(){var u,t=n(this);i?r.container.prepend(t):r.container.append(t);r.slideCount++;u=r.API.buildSlideOpts(t);r.slides=i?n(t).add(r.slides):r.slides.add(t);r.API.initSlide(u,t,--r._maxZ);t.data("cycle.opts",u);r.API.trigger("cycle-slide-added",[r,u,t])});r.API.updateView(!0);u=r._preInitialized&&e<2&&r.slideCount>=1;u&&(r._initialized?r.timeout&&(f=r.slides.length,r.nextSlide=r.reverse?f-1:1,r.timeoutId||r.API.queueTransition(r)):r.API.initSlideshow())},calcFirstSlide:function(){var n=this.opts(),t;t=parseInt(n.startingSlide||0,10);(t>=n.slides.length||t<0)&&(t=0);n.currSlide=t;n.reverse?(n.nextSlide=t-1,n.nextSlide<0&&(n.nextSlide=n.slides.length-1)):(n.nextSlide=t+1,n.nextSlide==n.slides.length&&(n.nextSlide=0))},calcNextSlide:function(){var n=this.opts(),t;n.reverse?(t=n.nextSlide-1<0,n.nextSlide=t?n.slideCount-1:n.nextSlide-1,n.currSlide=t?0:n.nextSlide+1):(t=n.nextSlide+1==n.slides.length,n.nextSlide=t?0:n.nextSlide+1,n.currSlide=t?n.slides.length-1:n.nextSlide-1)},calcTx:function(t,i){var r=t,u;return r._tempFx?u=n.fn.cycle.transitions[r._tempFx]:i&&r.manualFx&&(u=n.fn.cycle.transitions[r.manualFx]),u||(u=n.fn.cycle.transitions[r.fx]),r._tempFx=null,this.opts()._tempFx=null,u||(u=n.fn.cycle.transitions.fade,r.API.log('Transition "'+r.fx+'" not found.  Using fade.')),u},prepareTx:function(n,t){var i=this.opts(),o,f,e,r,u;if(i.slideCount<2){i.timeoutId=0;return}(n&&(!i.busy||i.manualTrump)&&(i.API.stopTransition(),i.busy=!1,clearTimeout(i.timeoutId),i.timeoutId=0),i.busy)||(i.timeoutId!==0||n)&&(f=i.slides[i.currSlide],e=i.slides[i.nextSlide],r=i.API.getSlideOpts(i.nextSlide),u=i.API.calcTx(r,n),i._tx=u,n&&r.manualSpeed!==undefined&&(r.speed=r.manualSpeed),i.nextSlide!=i.currSlide&&(n||!i.paused&&!i.hoverPaused&&i.timeout)?(i.API.trigger("cycle-before",[r,f,e,t]),u.before&&u.before(r,f,e,t),o=function(){(i.busy=!1,i.container.data("cycle.opts"))&&(u.after&&u.after(r,f,e,t),i.API.trigger("cycle-after",[r,f,e,t]),i.API.queueTransition(r),i.API.updateView(!0))},i.busy=!0,u.transition?u.transition(r,f,e,t,o):i.API.doTransition(r,f,e,t,o),i.API.calcNextSlide(),i.API.updateView()):i.API.queueTransition(r))},doTransition:function(t,i,r,u,f){var e=t,o=n(i),s=n(r),h=function(){s.animate(e.animIn||{opacity:1},e.speed,e.easeIn||e.easing,f)};s.css(e.cssBefore||{});o.animate(e.animOut||{},e.speed,e.easeOut||e.easing,function(){o.css(e.cssAfter||{});e.sync||h()});e.sync&&h()},queueTransition:function(t,i){var r=this.opts(),u=i!==undefined?i:t.timeout;if(r.nextSlide===0&&--r.loop==0){r.API.log("terminating; loop=0");r.timeout=0;u?setTimeout(function(){r.API.trigger("cycle-finished",[r])},u):r.API.trigger("cycle-finished",[r]);r.nextSlide=r.currSlide;return}if(r.continueAuto!==undefined&&(r.continueAuto===!1||n.isFunction(r.continueAuto)&&r.continueAuto()===!1)){r.API.log("terminating automatic transitions");r.timeout=0;r.timeoutId&&clearTimeout(r.timeoutId);return}u&&(r._lastQueue=n.now(),i===undefined&&(r._remainingTimeout=t.timeout),r.paused||r.hoverPaused||(r.timeoutId=setTimeout(function(){r.API.prepareTx(!1,!r.reverse)},u)))},stopTransition:function(){var n=this.opts();n.slides.filter(":animated").length&&(n.slides.stop(!1,!0),n.API.trigger("cycle-transition-stopped",[n]));n._tx&&n._tx.stopTransition&&n._tx.stopTransition(n)},advanceSlide:function(n){var t=this.opts();return clearTimeout(t.timeoutId),t.timeoutId=0,t.nextSlide=t.currSlide+n,t.nextSlide<0?t.nextSlide=t.slides.length-1:t.nextSlide>=t.slides.length&&(t.nextSlide=0),t.API.prepareTx(!0,n>=0),!1},buildSlideOpts:function(i){var f=this.opts(),e,o,r=i.data()||{},u;for(u in r)r.hasOwnProperty(u)&&/^cycle[A-Z]+/.test(u)&&(e=r[u],o=u.match(/^cycle(.*)/)[1].replace(/^[A-Z]/,t),f.API.log("["+(f.slideCount-1)+"]",o+":",e,"("+typeof e+")"),r[o]=e);r=n.extend({},n.fn.cycle.defaults,f,r);r.slideNum=f.slideCount;try{delete r.API;delete r.slideCount;delete r.currSlide;delete r.nextSlide;delete r.slides}catch(s){}return r},getSlideOpts:function(t){var i=this.opts(),r,u;return t===undefined&&(t=i.currSlide),r=i.slides[t],u=n(r).data("cycle.opts"),n.extend({},i,u)},initSlide:function(t,i,r){var u=this.opts();i.css(t.slideCss||{});r>0&&i.css("zIndex",r);isNaN(t.speed)&&(t.speed=n.fx.speeds[t.speed]||n.fx.speeds._default);t.sync||(t.speed=t.speed/2);i.addClass(u.slideClass)},updateView:function(n,t){var i=this.opts(),r,u;i._initialized&&((r=i.API.getSlideOpts(),u=i.slides[i.currSlide],!n&&t!==!0&&(i.API.trigger("cycle-update-view-before",[i,r,u]),i.updateView<0))||(i.slideActiveClass&&i.slides.removeClass(i.slideActiveClass).eq(i.currSlide).addClass(i.slideActiveClass),n&&i.hideNonActive&&i.slides.filter(":not(."+i.slideActiveClass+")").css("visibility","hidden"),i.updateView===0&&setTimeout(function(){i.API.trigger("cycle-update-view",[i,r,u,n])},r.speed/(i.sync?2:1)),i.updateView!==0&&i.API.trigger("cycle-update-view",[i,r,u,n]),n&&i.API.trigger("cycle-update-view-after",[i,r,u])))},getComponent:function(t){var r=this.opts(),i=r[t];return typeof i=="string"?/^\s*[\>|\+|~]/.test(i)?r.container.find(i):n(i):i.jquery?i:n(i)},stackSlides:function(t,i,r){var u=this.opts(),f,e,o;if(t||(t=u.slides[u.currSlide],i=u.slides[u.nextSlide],r=!u.reverse),n(t).css("zIndex",u.maxZ),e=u.maxZ-2,o=u.slideCount,r){for(f=u.currSlide+1;f<o;f++)n(u.slides[f]).css("zIndex",e--);for(f=0;f<u.currSlide;f++)n(u.slides[f]).css("zIndex",e--)}else{for(f=u.currSlide-1;f>=0;f--)n(u.slides[f]).css("zIndex",e--);for(f=o-1;f>u.currSlide;f--)n(u.slides[f]).css("zIndex",e--)}n(i).css("zIndex",u.maxZ-1)},getSlideIndex:function(n){return this.opts().slides.index(n)}};n.fn.cycle.log=function(){window.console&&console.log&&console.log("[cycle2] "+Array.prototype.join.call(arguments," "))};n.fn.cycle.version=function(){return"Cycle2: "+i};n.fn.cycle.transitions={custom:{},none:{before:function(n,t,i,r){n.API.stackSlides(i,t,r);n.cssBefore={opacity:1,visibility:"visible",display:"block"}}},fade:{before:function(t,i,r,u){var f=t.API.getSlideOpts(t.nextSlide).slideCss||{};t.API.stackSlides(i,r,u);t.cssBefore=n.extend(f,{opacity:0,visibility:"visible",display:"block"});t.animIn={opacity:1};t.animOut={opacity:0}}},fadeout:{before:function(t,i,r,u){var f=t.API.getSlideOpts(t.nextSlide).slideCss||{};t.API.stackSlides(i,r,u);t.cssBefore=n.extend(f,{opacity:1,visibility:"visible",display:"block"});t.animOut={opacity:0}}},scrollHorz:{before:function(n,t,i,r){n.API.stackSlides(t,i,r);var u=n.container.css("overflow","hidden").width();n.cssBefore={left:r?u:-u,top:0,opacity:1,visibility:"visible",display:"block"};n.cssAfter={zIndex:n._maxZ-2,left:0};n.animIn={left:0};n.animOut={left:r?-u:u}}}};n.fn.cycle.defaults={allowWrap:!0,autoSelector:".cycle-slideshow[data-cycle-auto-init!=false]",delay:0,easing:null,fx:"fade",hideNonActive:!0,loop:0,manualFx:undefined,manualSpeed:undefined,manualTrump:!0,maxZ:100,pauseOnHover:!1,reverse:!1,slideActiveClass:"cycle-slide-active",slideClass:"cycle-slide",slideCss:{position:"absolute",top:0,left:0},slides:"> img",speed:500,startingSlide:0,sync:!0,timeout:4e3,updateView:0};n(document).ready(function(){n(n.fn.cycle.defaults.autoSelector).cycle()})}(jQuery),function(n){"use strict";function t(t,i){var f,o,e,r=i.autoHeight;if(r=="container")o=n(i.slides[i.currSlide]).outerHeight(),i.container.height(o);else if(i._autoHeightRatio)i.container.height(i.container.width()/i._autoHeightRatio);else if(r==="calc"||n.type(r)=="number"&&r>=0){if(e=r==="calc"?u(t,i):r>=i.slides.length?0:r,e==i._sentinelIndex)return;i._sentinelIndex=e;i._sentinel&&i._sentinel.remove();f=n(i.slides[e].cloneNode(!0));f.removeAttr("id name rel").find("[id],[name],[rel]").removeAttr("id name rel");f.css({position:"static",visibility:"hidden",display:"block"}).prependTo(i.container).addClass("cycle-sentinel cycle-slide").removeClass("cycle-slide-active");f.find("*").css("visibility","hidden");i._sentinel=f}}function u(t,i){var r=0,u=-1;return i.slides.each(function(t){var i=n(this).height();i>u&&(u=i,r=t)}),r}function i(t,i,r,u){var f=n(u).outerHeight();i.container.animate({height:f},i.autoHeightSpeed,i.autoHeightEasing)}function r(u,f){f._autoHeightOnResize&&(n(window).off("resize orientationchange",f._autoHeightOnResize),f._autoHeightOnResize=null);f.container.off("cycle-slide-added cycle-slide-removed",t);f.container.off("cycle-destroyed",r);f.container.off("cycle-before",i);f._sentinel&&(f._sentinel.remove(),f._sentinel=null)}n.extend(n.fn.cycle.defaults,{autoHeight:0,autoHeightSpeed:250,autoHeightEasing:null});n(document).on("cycle-initialized",function(u,f){function h(){t(u,f)}var o=f.autoHeight,s=n.type(o),c=null,e;if(s==="string"||s==="number"){f.container.on("cycle-slide-added cycle-slide-removed",t);f.container.on("cycle-destroyed",r);if(o=="container")f.container.on("cycle-before",i);else s==="string"&&/\d+\:\d+/.test(o)&&(e=o.match(/(\d+)\:(\d+)/),e=e[1]/e[2],f._autoHeightRatio=e);if(s!=="number"){f._autoHeightOnResize=function(){clearTimeout(c);c=setTimeout(h,50)};n(window).on("resize orientationchange",f._autoHeightOnResize)}setTimeout(h,30)}})}(jQuery),function(n){"use strict";n.extend(n.fn.cycle.defaults,{caption:"> .cycle-caption",captionTemplate:"{{slideNum}} / {{slideCount}}",overlay:"> .cycle-overlay",overlayTemplate:"<div>{{title}}<\/div><div>{{desc}}<\/div>",captionModule:"caption"});n(document).on("cycle-update-view",function(t,i,r,u){i.captionModule==="caption"&&n.each(["caption","overlay"],function(){var t=this,f=r[t+"Template"],n=i.API.getComponent(t);n.length&&f?(n.html(i.API.tmpl(f,r,i,u)),n.show()):n.hide()})});n(document).on("cycle-destroyed",function(t,i){var r;n.each(["caption","overlay"],function(){var n=this,t=i[n+"Template"];i[n]&&t&&(r=i.API.getComponent("caption"),r.empty())})})}(jQuery),function(n){"use strict";var t=n.fn.cycle;n.fn.cycle=function(i){var r,f,u,e=n.makeArray(arguments);return n.type(i)=="number"?this.cycle("goto",i):n.type(i)=="string"?this.each(function(){var o;if(r=i,u=n(this).data("cycle.opts"),u===undefined){t.log('slideshow must be initialized before sending commands; "'+r+'" ignored');return}if(r=r=="goto"?"jump":r,f=u.API[r],n.isFunction(f))return o=n.makeArray(e),o.shift(),f.apply(u.API,o);t.log("unknown command: ",r)}):t.apply(this,arguments)};n.extend(n.fn.cycle,t);n.extend(t.API,{next:function(){var n=this.opts(),t;(!n.busy||n.manualTrump)&&((t=n.reverse?-1:1,n.allowWrap===!1&&n.currSlide+t>=n.slideCount)||(n.API.advanceSlide(t),n.API.trigger("cycle-next",[n]).log("cycle-next")))},prev:function(){var n=this.opts(),t;(!n.busy||n.manualTrump)&&((t=n.reverse?1:-1,n.allowWrap===!1&&n.currSlide+t<0)||(n.API.advanceSlide(t),n.API.trigger("cycle-prev",[n]).log("cycle-prev")))},destroy:function(){this.stop();var t=this.opts(),i=n.isFunction(n._data)?n._data:n.noop;clearTimeout(t.timeoutId);t.timeoutId=0;t.API.stop();t.API.trigger("cycle-destroyed",[t]).log("cycle-destroyed");t.container.removeData();i(t.container[0],"parsedAttrs",!1);t.retainStylesOnDestroy||(t.container.removeAttr("style"),t.slides.removeAttr("style"),t.slides.removeClass(t.slideActiveClass));t.slides.each(function(){var r=n(this);r.removeData();r.removeClass(t.slideClass);i(this,"parsedAttrs",!1)})},jump:function(n,t){var u,i=this.opts(),r;if(!i.busy||i.manualTrump){if(r=parseInt(n,10),isNaN(r)||r<0||r>=i.slides.length){i.API.log("goto: invalid slide index: "+r);return}if(r==i.currSlide){i.API.log("goto: skipping, already on slide",r);return}i.nextSlide=r;clearTimeout(i.timeoutId);i.timeoutId=0;i.API.log("goto: ",r," (zero-index)");u=i.currSlide<i.nextSlide;i._tempFx=t;i.API.prepareTx(!0,u)}},stop:function(){var t=this.opts(),i=t.container;clearTimeout(t.timeoutId);t.timeoutId=0;t.API.stopTransition();t.pauseOnHover&&(t.pauseOnHover!==!0&&(i=n(t.pauseOnHover)),i.off("mouseenter mouseleave"));t.API.trigger("cycle-stopped",[t]).log("cycle-stopped")},reinit:function(){var n=this.opts();n.API.destroy();n.container.cycle()},remove:function(t){for(var i=this.opts(),r,u,e=[],o=1,f=0;f<i.slides.length;f++)r=i.slides[f],f==t?u=r:(e.push(r),n(r).data("cycle.opts").slideNum=o,o++);u&&(i.slides=n(e),i.slideCount--,n(u).remove(),t==i.currSlide?i.API.advanceSlide(1):t<i.currSlide?i.currSlide--:i.currSlide++,i.API.trigger("cycle-slide-removed",[i,t,u]).log("cycle-slide-removed"),i.API.updateView())}});n(document).on("click.cycle","[data-cycle-cmd]",function(t){t.preventDefault();var i=n(this),r=i.data("cycle-cmd"),u=i.data("cycle-context")||".cycle-slideshow";n(u).cycle(r,i.data("cycle-arg"))})}(jQuery),function(n){"use strict";function t(t,i){var r;if(t._hashFence){t._hashFence=!1;return}r=window.location.hash.substring(1);t.slides.each(function(u){if(n(this).data("cycle-hash")==r){if(i===!0)t.startingSlide=u;else{var f=t.currSlide<u;t.nextSlide=u;t.API.prepareTx(!0,f)}return!1}})}n(document).on("cycle-pre-initialize",function(i,r){t(r,!0);r._onHashChange=function(){t(r,!1)};n(window).on("hashchange",r._onHashChange)});n(document).on("cycle-update-view",function(n,t,i){i.hash&&"#"+i.hash!=window.location.hash&&(t._hashFence=!0,window.location.hash=i.hash)});n(document).on("cycle-destroyed",function(t,i){i._onHashChange&&n(window).off("hashchange",i._onHashChange)})}(jQuery),function(n){"use strict";n.extend(n.fn.cycle.defaults,{loader:!1});n(document).on("cycle-bootstrap",function(t,i){function u(t,u){function s(t){var o;i.loader=="wait"?(e.push(t),f===0&&(e.sort(h),r.apply(i.API,[e,u]),i.container.removeClass("cycle-loading"))):(o=n(i.slides[i.currSlide]),r.apply(i.API,[t,u]),o.show(),i.container.removeClass("cycle-loading"))}function h(n,t){return n.data("index")-t.data("index")}var e=[],o,f;if(n.type(t)=="string")t=n.trim(t);else if(n.type(t)==="array")for(o=0;o<t.length;o++)t[o]=n(t[o])[0];(t=n(t),f=t.length,f)&&(t.css("visibility","hidden").appendTo("body").each(function(t){function l(){--c==0&&(--f,s(o))}var c=0,o=n(this),h=o.is("img")?o:o.find("img");if(o.data("index",t),h=h.filter(":not(.cycle-loader-ignore)").filter(':not([src=""])'),!h.length){--f;e.push(o);return}c=h.length;h.each(function(){if(this.complete)l();else n(this).load(function(){l()}).on("error",function(){--c==0&&(i.API.log("slide skipped; img not loaded:",this.src),--f==0&&i.loader=="wait"&&r.apply(i.API,[e,u]))})})}),f&&i.container.addClass("cycle-loading"))}var r;i.loader&&(r=i.API.add,i.API.add=u)})}(jQuery),function(n){"use strict";function t(t,i,r){var u,f=t.API.getComponent("pager");f.each(function(){var f=n(this),e;i.pagerTemplate?(e=t.API.tmpl(i.pagerTemplate,i,t,r[0]),u=n(e).appendTo(f)):u=f.children().eq(t.slideCount-1);u.on(t.pagerEvent,function(n){t.pagerEventBubble||n.preventDefault();t.API.page(f,n.currentTarget)})})}function i(n,t){var i=this.opts();if(!i.busy||i.manualTrump){var u=n.children().index(t),r=u,f=i.currSlide<r;i.currSlide!=r&&(i.nextSlide=r,i._tempFx=i.pagerFx,i.API.prepareTx(!0,f),i.API.trigger("cycle-pager-activated",[i,n,t]))}}n.extend(n.fn.cycle.defaults,{pager:"> .cycle-pager",pagerActiveClass:"cycle-pager-active",pagerEvent:"click.cycle",pagerEventBubble:undefined,pagerTemplate:"<span>&bull;<\/span>"});n(document).on("cycle-bootstrap",function(n,i,r){r.buildPagerLink=t});n(document).on("cycle-slide-added",function(n,t,r,u){t.pager&&(t.API.buildPagerLink(t,r,u),t.API.page=i)});n(document).on("cycle-slide-removed",function(t,i,r){if(i.pager){var u=i.API.getComponent("pager");u.each(function(){var t=n(this);n(t.children()[r]).remove()})}});n(document).on("cycle-update-view",function(t,i){var r;i.pager&&(r=i.API.getComponent("pager"),r.each(function(){n(this).children().removeClass(i.pagerActiveClass).eq(i.currSlide).addClass(i.pagerActiveClass)}))});n(document).on("cycle-destroyed",function(n,t){var i=t.API.getComponent("pager");i&&(i.children().off(t.pagerEvent),t.pagerTemplate&&i.empty())})}(jQuery),function(n){"use strict";n.extend(n.fn.cycle.defaults,{next:"> .cycle-next",nextEvent:"click.cycle",disabledClass:"disabled",prev:"> .cycle-prev",prevEvent:"click.cycle",swipe:!1});n(document).on("cycle-initialized",function(n,t){t.API.getComponent("next").on(t.nextEvent,function(n){n.preventDefault();t.API.next()});t.API.getComponent("prev").on(t.prevEvent,function(n){n.preventDefault();t.API.prev()});if(t.swipe){var i=t.swipeVert?"swipeUp.cycle":"swipeLeft.cycle swipeleft.cycle",r=t.swipeVert?"swipeDown.cycle":"swipeRight.cycle swiperight.cycle";t.container.on(i,function(){t._tempFx=t.swipeFx;t.API.next()});t.container.on(r,function(){t._tempFx=t.swipeFx;t.API.prev()})}});n(document).on("cycle-update-view",function(n,t){if(!t.allowWrap){var i=t.disabledClass,r=t.API.getComponent("next"),u=t.API.getComponent("prev"),f=t._prevBoundry||0,e=t._nextBoundry!==undefined?t._nextBoundry:t.slideCount-1;t.currSlide==e?r.addClass(i).prop("disabled",!0):r.removeClass(i).prop("disabled",!1);t.currSlide===f?u.addClass(i).prop("disabled",!0):u.removeClass(i).prop("disabled",!1)}});n(document).on("cycle-destroyed",function(n,t){t.API.getComponent("prev").off(t.nextEvent);t.API.getComponent("next").off(t.prevEvent);t.container.off("swipeleft.cycle swiperight.cycle swipeLeft.cycle swipeRight.cycle swipeUp.cycle swipeDown.cycle")})}(jQuery),function(n){"use strict";n.extend(n.fn.cycle.defaults,{progressive:!1});n(document).on("cycle-pre-initialize",function(t,i){if(i.progressive){var u=i.API,f=u.next,s=u.prev,e=u.prepareTx,h=n.type(i.progressive),r,o;if(h=="array")r=i.progressive;else if(n.isFunction(i.progressive))r=i.progressive(i);else if(h=="string"){if(o=n(i.progressive),r=n.trim(o.html()),!r)return;if(/^(\[)/.test(r))try{r=n.parseJSON(r)}catch(c){u.log("error parsing progressive slides",c);return}else r=r.split(new RegExp(o.data("cycle-split")||"\n")),r[r.length-1]||r.pop()}e&&(u.prepareTx=function(n,t){var f,u;if(n||r.length===0){e.apply(i.API,[n,t]);return}if(t&&i.currSlide==i.slideCount-1){u=r[0];r=r.slice(1);i.container.one("cycle-slide-added",function(n,t){setTimeout(function(){t.API.advanceSlide(1)},50)});i.API.add(u)}else if(t||i.currSlide!==0)e.apply(i.API,[n,t]);else{f=r.length-1;u=r[f];r=r.slice(0,f);i.container.one("cycle-slide-added",function(n,t){setTimeout(function(){t.currSlide=1;t.API.advanceSlide(-1)},50)});i.API.add(u,!0)}});f&&(u.next=function(){var n=this.opts(),t;if(r.length&&n.currSlide==n.slideCount-1){t=r[0];r=r.slice(1);n.container.one("cycle-slide-added",function(n,t){f.apply(t.API);t.container.removeClass("cycle-loading")});n.container.addClass("cycle-loading");n.API.add(t)}else f.apply(n.API)});s&&(u.prev=function(){var n=this.opts(),t,i;if(r.length&&n.currSlide===0){t=r.length-1;i=r[t];r=r.slice(0,t);n.container.one("cycle-slide-added",function(n,t){t.currSlide=1;t.API.advanceSlide(-1);t.container.removeClass("cycle-loading")});n.container.addClass("cycle-loading");n.API.add(i,!0)}else s.apply(n.API)})}})}(jQuery),function(n){"use strict";n.extend(n.fn.cycle.defaults,{tmplRegex:"{{((.)?.*?)}}"});n.extend(n.fn.cycle.API,{tmpl:function(t,i){var u=new RegExp(i.tmplRegex||n.fn.cycle.defaults.tmplRegex,"g"),r=n.makeArray(arguments);return r.shift(),t.replace(u,function(t,i){for(var e,f,u,o=i.split("."),s=0;s<r.length;s++)if(f=r[s],f){if(o.length>1)for(u=f,e=0;e<o.length;e++)f=u,u=u[o[e]]||i;else u=f[i];if(n.isFunction(u))return u.apply(f,r);if(u!==undefined&&u!==null&&u!=i)return u}return i})}})}(jQuery)